| Age | Commit message (Collapse) | Author | Files | Lines | |
|---|---|---|---|---|---|
| 2022-08-07 | Fix an infinite loop in the garbage collector. | Rose Hogenson | 1 | -15/+13 | |
| 2022-08-07 | Add int<? and eq?. | Rose Hogenson | 3 | -2/+37 | |
| 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 | 3 | -9/+14 | |
| 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 | 46 | -7/+13 | |
| 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. | |||||
| 2022-08-01 | Rename the compiler in bytecode.rs. | Rose Hogenson | 1 | -2/+2 | |
| 2022-08-01 | Rename the compiler. | Rose Hogenson | 2 | -9/+19 | |
| I'm starting the process of updating the whole project to use the new name Chromatopelma. | |||||
| 2022-07-30 | Add typeof to encoding.rs. | Rose Hogenson | 1 | -0/+9 | |
| 2022-07-30 | Add call-builtin syntax. | Rose Hogenson | 4 | -2/+36 | |
| This syntax allows calling opcodes directly from scheme code. Very powerful technique. | |||||
| 2022-07-30 | Add the typeof opcode. | Rose Hogenson | 3 | -0/+95 | |
| 2022-07-30 | Fix a bug in the linker label calculation. | Rose Hogenson | 2 | -5/+5 | |
| 2022-07-30 | Move Cargo.nix to default.nix. | Rose Hogenson | 1 | -0/+0 | |
| 2022-07-30 | Fix some test cases in the compiler. | Rose Hogenson | 3 | -29/+30 | |
| 2022-07-30 | Write more tests for decode. | Rose Hogenson | 1 | -15/+261 | |
| 2022-07-29 | Fix the bytecode interpreter. | Rose Hogenson | 9 | -796/+1173 | |
| I'm too scared to actually try to run it right now. | |||||
| 2022-07-29 | Insert an exit op at the end of the program. | Rose Hogenson | 4 | -15/+9 | |
| 2022-07-29 | Handle the (csc builtins) library separately. | Rose Hogenson | 1 | -7/+15 | |
| 2022-07-29 | Fix test failures. | Rose Hogenson | 3 | -97/+115 | |
| 2022-07-29 | Fig bugs in the flag library. | Rose Hogenson | 2 | -11/+31 | |
| Now bool flags are handled properly. We have a compiler!! | |||||
| 2022-07-29 | Fix some compilation errors in the compiler. | Rose Hogenson | 7 | -15/+72 | |
| 2022-07-28 | Write the CLI frontend. | Rose Hogenson | 3 | -5/+170 | |
| 2022-07-28 | Improve the strings API. | Rose Hogenson | 6 | -223/+264 | |
| I'm just copying the go strings library API. | |||||
| 2022-07-28 | Add the compiler frontend. | Rose Hogenson | 2 | -0/+142 | |
| I haven't written any tests yet, so this code probably doesn't even compile. | |||||
| 2022-07-28 | Use a better interface for macros. | Rose Hogenson | 2 | -109/+140 | |
| 2022-07-28 | Use a better interface for linker. | Rose Hogenson | 2 | -37/+53 | |
| 2022-07-28 | Better interface for join. | Rose Hogenson | 2 | -5/+5 | |
| 2022-07-28 | Use a better hashing scheme for identifiers. | Rose Hogenson | 1 | -3/+1 | |
| 2022-07-26 | Slightly improve the hash function. | Rose Hogenson | 1 | -6/+7 | |
| 2022-07-26 | Fix a potential R7RS issue. | Rose Hogenson | 16 | -1568/+1608 | |
| I was using the load procedure to load a program, but by a strict reading of R7RS, load can only handle expressions and definitions, not imports. So instead I'm defining each test as a library, and using the environment procedure to load them at runtime. | |||||
| 2022-07-26 | Fix an issue with how the linker combined files. | Rose Hogenson | 4 | -32/+55 | |
| I inserted jump statements into the bytecode at the beginning of each compilation unit, to jump to the init label. The point is that now the bytecode can be executed from start to finish, and assuming the libraries were ordered correctly, it will run the full program. | |||||
| 2022-07-25 | Document the plan for symbols. | Rose Hogenson | 1 | -5/+5 | |
| 2022-07-25 | Re-write the encoding library. | Rose Hogenson | 2 | -93/+209 | |
| I greatly improved the library, and changed it to expect register bytecode instead of stack-based. | |||||
| 2022-07-25 | Re-write the linker. | Rose Hogenson | 2 | -57/+111 | |
| 2022-07-25 | Slightly improve loop. | Rose Hogenson | 1 | -35/+28 | |
| The advantage to this approach is that the user can modify the loop variables and the variables will be stepped as expected, e.g. (loop for i from 1 to 10 do (set! i (+ 1 i)) collect i) should return '(2 4 6 8 10). | |||||
