aboutsummaryrefslogtreecommitdiffstats
path: root/csc/compare.csc
AgeCommit message (Collapse)AuthorFilesLines
2022-08-01Modify the project structure.Rose Hogenson1-248/+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-28Improve the strings API.Rose Hogenson1-109/+134
I'm just copying the go strings library API.
2022-07-25Fix a bug in comparing bytevectors.Rose Hogenson1-1/+3
2022-07-24Fix some bugs in the compare library.Rose Hogenson1-16/+22
2022-07-20Perform argument conversion.Rose Hogenson1-8/+8
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-13/+13
2022-07-03Update a comment in compare.csc.Rose Hogenson1-4/+0
2022-07-03Add a diff library.Rose Hogenson1-0/+219
I was hesitant to add a diff library, but it was surprisingly easy. A straightforward application of dynamic programming.