aboutsummaryrefslogtreecommitdiffstats
path: root/csc/compare-test.csc
AgeCommit message (Collapse)AuthorFilesLines
2022-08-01Modify the project structure.Rose Hogenson1-98/+0
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-07-26Fix a potential R7RS issue.Rose Hogenson1-37/+39
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-24Fix some bugs in the compare library.Rose Hogenson1-13/+27
2022-07-20Perform argument conversion.Rose Hogenson1-5/+5
The point of argument conversion is to validate on each function call that the right number of arguments were passed, and to ensure that no function has more than 1 argument. This second condition makes CPS slightly simpler, and ensures that the arguments will all fit in locals. We take the strategy of allocating a vector for each function call. Ideally we would optimize away most of these allocations, but for now I just want it to work.
2022-07-12Slightly improve diff formatting.Rose Hogenson1-38/+38
2022-07-03Add a diff library.Rose Hogenson1-0/+82
I was hesitant to add a diff library, but it was surprisingly easy. A straightforward application of dynamic programming.