Peter Seibel <peter@javamonkey.com> wrote:
+---------------
| Bruce Hoult <bruce@hoult.org> writes:
| > People have already suggested "Lisp in Small Peices". To that -- and
| > given the above direction -- I would add "Compiling with
| > Continuations" by Andrew W. Appel.
|
| I'd second the suggestion of _Lisp in Small Pieces_, it's quite an
| entertaining tour through various implementation techniques.
+---------------
And I'll third it! *Especially* the section on "Fast Interpretation",
which shows you that even in an "interpreter" there's no need for
for closures to have anything even vaguely like a "symbol table"
at run time. Basically, in any reasonable system lexical variables
get turned into name-free (no "symbols" any more) accesses to slots
in some kind of closure-environment structure, which may be a flat
array, linked chunks, or a single linked list, depending on which
of various other design choices you've made.
-Rob
-----
Rob Warnock, PP-ASEL-IA <rpw3@rpw3.org>
627 26th Avenue <URL:http://rpw3.org/>
San Mateo, CA 94403 (650)572-2607