Commit Graph

6 Commits

Author SHA1 Message Date
Elf M. Sternberg 1e38327b2a Beginning Chapter 4. 2015-08-15 09:43:48 -07:00
Elf M. Sternberg 73be7dee59 [doc] Add many comments to the final interpreter.
This adds many comments to the final interpreter, which hopefully helps
me (and anyone else reading this) understand what's going on inside the
3G interpreter.

[refactor] This last interpreter takes all the evaluate function's
"syntax" objects and moves them into a lookup table.  THis prefigures the
idea of making even the syntax malleable and extensible by future code.
I have to wonder if there's a place for making some core commands (the
"holy 7" of McCarthy, for example) un-reassignable.

Probably not.  I can vaguely see an interest in wrapping even some core
functions (car, cdr, cons) in contractual decorators.

This concludes the base homework for chapter 3.  I might get to the
exercises someday.
2015-08-07 17:09:51 -07:00
Elf M. Sternberg bf7068d0ad [feat] unwind-protect now works. Tracked down the last bad reference. 2015-08-04 08:48:12 -07:00
Elf M. Sternberg d26c572ba2 [bug] Tracked down the misassignment in my original. All tests passing. 2015-08-03 16:23:30 -07:00
Elf M. Sternberg 38fa5ae125 [feat] The interpreter works and all the tests run without crashing. 2015-08-03 07:31:22 -07:00
Elf M. Sternberg 32edb45f84 [feat] New interpreter needed for throwing context changes. 2015-07-31 07:48:42 -07:00