| Age | Commit message (Collapse) | Author | Files | Lines | |
|---|---|---|---|---|---|
| 2022-09-02 | Fix bugs with recursive macros and empty template. | Rose Hogenson | 2 | -38/+91 | |
| 2022-09-02 | Undo the hacky list constant changes. | Rose Hogenson | 2 | -41/+4 | |
| We will eventually implement list constants using some kind of rodata. | |||||
| 2022-09-01 | Fix some bugs in macros, and add list constants. | Rose Hogenson | 2 | -94/+236 | |
| 2022-08-27 | Use reg 255 for swapping. | Rose Hogenson | 2 | -3/+3 | |
| I wanted to use the top reg, for some reason I thought at the time that 127 was the biggest 8-bit number. Obviously it's 255. | |||||
| 2022-08-27 | Enable nil constants. | Rose Hogenson | 1 | -2/+3 | |
| 2022-08-27 | Implement multiple return values. | Rose Hogenson | 5 | -82/+120 | |
| 2022-08-23 | Change argument passing to use lists. | Rose Hogenson | 5 | -329/+87 | |
| Using vectors is just horribly complicated combined with builtins like apply, or procedures that take a rest parameter. Now we pass all arguments in a list. Hopefully optimization can undo this for known functions in the future. | |||||
| 2022-08-23 | Insert references, not values into the map. | Rose Hogenson | 1 | -7/+4 | |
| This fixes a bug in compiler.csc. | |||||
| 2022-08-22 | Add a few primitive list operations. | Rose Hogenson | 1 | -4/+14 | |
| 2022-08-12 | Fix bugs in the macro expander. | Rose Hogenson | 2 | -84/+125 | |
| Now I'm following the rule that you should ignore marks that were added after the binding was defined. I also introduced a lexical environment to handle lambdas. | |||||
| 2022-08-10 | Subtract int-min instead of adding int-max + 1. | Rose Hogenson | 1 | -11/+3 | |
| 2022-08-09 | Fix a few small bugs. | Rose Hogenson | 2 | -3/+3 | |
| N lines of code will have about 2N bugs. | |||||
| 2022-08-08 | Fix the bugs in the number library. | Rose Hogenson | 1 | -170/+218 | |
| I did some extensive manual testing. Hopefully there are no bugs left :) | |||||
| 2022-08-08 | Unexport case-lambda. | Rose Hogenson | 1 | -1/+2 | |
| case-lambda is actually defined in the (scheme case-lambda) library, but it's too convenient so I'm just going to define two copies. | |||||
| 2022-08-07 | Misc test fixup in the compiler. | Rose Hogenson | 5 | -21/+28 | |
| 2022-08-07 | Add a needed import to 10-define.csc. | Rose Hogenson | 1 | -1/+2 | |
| 2022-08-07 | Add include-library-declarations. | Rose Hogenson | 1 | -13/+50 | |
| 2022-08-07 | Fix hoist. | Rose Hogenson | 1 | -2/+4 | |
| Hoist needs to hoist the function bodies as well. | |||||
| 2022-08-07 | Add int<? and eq?. | Rose Hogenson | 1 | -0/+5 | |
| 2022-08-07 | Fix a bug in expand-body for an empty body. | Rose Hogenson | 1 | -1/+2 | |
| 2022-08-07 | Define last-index. | Rose Hogenson | 2 | -0/+26 | |
| 2022-08-07 | Fix a typo in codegen. | Rose Hogenson | 1 | -3/+1 | |
| 2022-08-07 | Activate the new libraries. | Rose Hogenson | 1 | -1/+3 | |
| 2022-08-07 | Add numbers. | Rose Hogenson | 1 | -0/+821 | |
| 2022-08-07 | Add vectors. | Rose Hogenson | 1 | -0/+156 | |
| 2022-08-07 | Add map and for-each. | Rose Hogenson | 1 | -1/+35 | |
| 2022-08-07 | Fix a bug in the records library. | Rose Hogenson | 1 | -1/+2 | |
| We have to check if it's a pointer before dereferencing. | |||||
| 2022-08-07 | Add booleans. | Rose Hogenson | 1 | -2/+25 | |
| 2022-08-05 | Check that records are the correct type. | Rose Hogenson | 1 | -9/+15 | |
| To avoid selecting the wrong field, or reading out of bounds, we should ensure that a record is the correct type before reading a field. | |||||
| 2022-08-05 | Add more of the standard library. | Rose Hogenson | 10 | -386/+774 | |
| 2022-08-05 | Add call-with-values. | Rose Hogenson | 2 | -1/+21 | |
| 2022-08-05 | Add call-with-current-continuation. | Rose Hogenson | 2 | -0/+15 | |
| 2022-08-04 | Add if, and, or, when and friends. | Rose Hogenson | 3 | -2/+90 | |
| 2022-08-04 | Add begin. | Rose Hogenson | 1 | -1/+12 | |
| 2022-08-04 | Add if and set!. | Rose Hogenson | 3 | -5/+67 | |
| 2022-08-03 | Start the scheme base library. | Rose Hogenson | 3 | -0/+94 | |
| 2022-08-01 | Remove mutable globals. | Rose Hogenson | 2 | -7/+12 | |
| Per a closer reading of R7RS, it's an error to mutate an imported binding with set!. My apologies to Guile when I said they had a bug. | |||||
| 2022-08-01 | Modify the project structure. | Rose Hogenson | 37 | -0/+6441 | |
| Now the lib directory contains what will eventually end up on the user's /usr/lib/csc. When I write make install, it will copy all of the .csc files from lib into the destination lib directory. This means I can start working on the standard library in lib/scheme. | |||||
