| Age | Commit message (Collapse) | Author | Files | Lines | |
|---|---|---|---|---|---|
| 2022-01-13 | Rewrite match to use exceptions. | Rose Hogenson | 1 | -17/+43 | |
| This makes the control flow more clear, and eliminates the need to scan the pattern twice. It also makes it easier to add new forms by consolidating the pattern logic in one procedure. | |||||
| 2022-01-13 | Use := instead of = for variable assignment. | Rose Hogenson | 1 | -1/+1 | |
| I was reading about the difference, and := does what you want more often than not. | |||||
| 2022-01-13 | Generalize the hash map. | Rose Hogenson | 3 | -35/+48 | |
| Before we were assuming keys could be compared with eqv?. But it seems like that assumption isn't true when we want to hold identifiers in the hash map. | |||||
| 2022-01-11 | Add a README. | Rose Hogenson | 1 | -0/+5 | |
| 2022-01-11 | Move scheme compiler into a separate directory. | Rose Hogenson | 27 | -0/+0 | |
| 2022-01-11 | Add a first implementation of a macro expander. | Rose Hogenson | 3 | -0/+422 | |
| This half-finished macro expander is the most satisfying piece of code I have ever written. | |||||
| 2022-01-11 | Make bindings visible while a guard is evaluated. | Rose Hogenson | 2 | -5/+15 | |
| The current implementation repeats the bindings twice, but I guess it's fine. It seems to work. | |||||
| 2022-01-11 | Add guards to the match syntax. | Rose Hogenson | 2 | -1/+20 | |
| I'm not sure the syntax is great, but it's very helpful to have. | |||||
| 2022-01-09 | Write the linker. | Rose Hogenson | 13 | -102/+450 | |
| 2022-01-09 | Remove str- prefixes from the strings library. | Rose Hogenson | 3 | -47/+45 | |
| Not very scheme. | |||||
| 2022-01-09 | Redo the testing framework. | Rose Hogenson | 9 | -637/+310 | |
| We can lean more on the power of scheme to make the testing framework a little less verbose. | |||||
| 2022-01-09 | Add some magic to detect symbols. | Rose Hogenson | 2 | -26/+41 | |
| I still don't understand this snippet. | |||||
| 2022-01-09 | Define helper intercalate. | Rose Hogenson | 2 | -2/+44 | |
| 2022-01-09 | Improve match syntax. | Rose Hogenson | 2 | -29/+44 | |
| Now ! is required to match against a constant, and by default a name is bound. | |||||
| 2022-01-09 | Simplify macro definitions in match. | Rose Hogenson | 1 | -31/+9 | |
| 2022-01-09 | Add wildcard to pattern syntax. | Rose Hogenson | 2 | -7/+25 | |
| 2022-01-09 | Add a library for pattern matching. | Rose Hogenson | 2 | -0/+102 | |
| 2022-01-09 | Use load to evaluate each library's tests. | Rose Hogenson | 2 | -1/+2 | |
| 2022-01-09 | Initial commit. | Rose Hogenson | 25 | -0/+1987 | |
| Not sure if everything here will be needed eventually, but we have a working bytecode interpreter. Next I will write the linker, then the core compiler, and finish with the macro expander. | |||||
