| Age | Commit message (Collapse) | Author | Files | Lines | |
|---|---|---|---|---|---|
| 2022-06-25 | More CPS. | Rose Hogenson | 5 | -4/+72 | |
| 2022-06-25 | Continue work on continuation passing style. | Rose Hogenson | 6 | -43/+235 | |
| 2022-06-21 | Add shell.nix. | Rose Hogenson | 1 | -0/+5 | |
| 2022-06-21 | More progress on CPS. | Rose Hogenson | 3 | -69/+57 | |
| 2022-06-21 | Comment expand-body. | Rose Hogenson | 1 | -0/+1 | |
| 2022-06-21 | Start CPS :) | Rose Hogenson | 2 | -0/+30 | |
| 2022-04-22 | Remove the void type. | Rose Hogenson | 3 | -23/+11 | |
| Why have void? We will just use #f. | |||||
| 2022-04-07 | Add libraries. | Rose Hogenson | 3 | -126/+189 | |
| Gone is toplevel. Now everyone lives in a library. | |||||
| 2022-04-02 | Write a test for case-lambda. | Rose Hogenson | 3 | -18/+49 | |
| I'm realizing that I should have started with builtin-exit and implemented the hard stuff later. | |||||
| 2022-03-31 | Improvements in macros and IR1. | Rose Hogenson | 4 | -184/+171 | |
| We're omitting libraries for now, and I'll add them in later. | |||||
| 2022-03-31 | Allow overriding the cmp function in assert-equal. | Rose Hogenson | 2 | -93/+6 | |
| 2022-03-03 | Write the compiler frontend. | Rose Hogenson | 4 | -54/+186 | |
| 2022-01-25 | Nitpick on loop style. | Rose Hogenson | 1 | -3/+4 | |
| 2022-01-25 | Use an exception for loop return. | Rose Hogenson | 1 | -18/+12 | |
| This makes everything a lot easier, as it handles nested loops automatically. My brain wave was storing the returned values in a thunk. | |||||
| 2022-01-25 | Fix the bugs in loop. | Rose Hogenson | 2 | -44/+230 | |
| It works! Sometimes it emits nested loops! | |||||
| 2022-01-24 | Implement lambda? | Rose Hogenson | 2 | -12/+209 | |
| 2022-01-24 | Finish the loop macro. | Rose Hogenson | 3 | -164/+362 | |
| I also cleaned everything up a lot. Maybe there are still bugs because the test coverage is awful, but for now I'm happy to be done. | |||||
| 2022-01-22 | Store the list length in sort. | Rose Hogenson | 1 | -8/+12 | |
| Computing length each time is very unnecessary. | |||||
| 2022-01-22 | Add a loop macro. | Rose Hogenson | 3 | -12/+313 | |
| 2022-01-15 | Finish the macro expander. | Rose Hogenson | 6 | -105/+501 | |
| It works!! At least it passes all the test cases. Next I will: 1. finish the builtins, 2. add a conversion to IR2 in continuation passing style, 3. add a compiler from IR2 to bytecode, 4. and add an option to the frontend compiler to generate a standalone executable. | |||||
| 2022-01-14 | Write a first draft macro expander. | Rose Hogenson | 6 | -161/+414 | |
| Committing it because it compiles. I have to write tests and debug it still. | |||||
| 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 | Move scheme compiler into a separate directory. | Rose Hogenson | 27 | -0/+1749 | |
