| Age | Commit message (Collapse) | Author | Files | Lines |
|
I guess you can pattern match using quote as a literal.
That's pretty cool.
|
|
Running the record matcher has a side-effect (raising *no-match*), so we
call it ahead of time to ensure a consistent order of evaluation.
|
|
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.
|
|
I'm marginally reducing verbosity with this change,
without sacrificing readability.
|
|
I was hesitant to add a diff library, but it was surprisingly easy. A
straightforward application of dynamic programming.
|
|
I like scheme because it's possible to add any convenient language
feature I can think of.
|
|
Committing it because it compiles. I have to write tests and debug
it still.
|
|
This makes the control flow more clear, and eliminates the need to scan
the pattern twice. It also makes it easier to add new forms by
consolidating the pattern logic in one procedure.
|
|
|