Franz Kafka <Symbolics_XL1201_Sebek_Budo_Kafka@hotmail.com> wrote:
| I have got LiSP, and looked through it. It did have two intresting
| chapters: 1.) About towers of Lisp--Lisp defined using Lisp. 2.) A
| chapter about Reflexion that was helpful.
Pay especial attention to the section [sorry, don't have the book handy
at the moment, or I'd list the pages] on "fast interpretation", which
covers a large range of possible ways of representing lexical environments,
e.g., linked-lists of alists, linked lists of vectors ("frames"), vectors
of vectors (a.k.a. Algol-like "displays"), "skip-level" displays (a neat
hybrid between the previous two), and "flat" environments (which require
"boxing" [pushing into the heap and rewriting their accessors] of variables
that are mutated *and* closed over by "escaping" lambdas). I found that
section to be a gold mine for the aspiring implementor.
Also check out the "compiler" sections towards the end.
Rob Warnock, PP-ASEL-IA <firstname.lastname@example.org>
627 26th Avenue <URL:http://rpw3.org/>
San Mateo, CA 94403 (650)572-2607