| Age | Commit message (Collapse) | Author | Files | Lines |
|
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.
|
|
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).
|
|
|
|
Now you can use multiple collect statements and they will all accumulate
into the same variable. I think in common lisp you could collect into
the same variable even with collect x into, but it's pretty unclear to
me how to do that in Scheme. How would we know that they are the
same variable?
|
|
I was hesitant to add a diff library, but it was surprisingly easy. A
straightforward application of dynamic programming.
|
|
Goodbye soup. Thanks to "Compiling with Continuations" by Appel.
|
|
|
|
This makes everything a lot easier, as it handles nested loops
automatically. My brain wave was storing the returned values in a thunk.
|
|
It works! Sometimes it emits nested loops!
|
|
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.
|
|
|