Pascal Costanza <pc@p-cos.net> wrote:
+---------------
| Daniel Kalny wrote:
| > Hello group,
| > I am looking for some information about LISP interpreter internals,
| > how it works and how one could write his own LISP interpreter, even if
| > a simple one. I found some brief info about read-evaluate-print loop
| > and the internal structure of lists, but nothing comprehensive that
| > would help me to understand fully how LISP works. Any help is
| > appreciated.
|
| Two good starting points are "The Roots of Lisp" by Paul Graham
| and "The Art of the Interpreter" by Sussman and Steele.
+---------------
And then when you're ready to *really* get your hands dirty,
Christian Queinnec's marvelous "LiSP", which covers numerous
design alternatives in the implementation of Lisp-like languages:
"Lisp in Small Pieces" [originally "Les langages Lisp"]
http://www-spi.lip6.fr/~queinnec/WWW/LiSP.html
http://www-spi.lip6.fr/~queinnec/common/LiSPeng.png
I personally found "Chapter 6: Fast interpretation" to be
particularly useful as an introduction to the preprocessing
needed for fast lexical variables, including various alternatives
for the runtime representations of lexical environments [including
one particularly-tricky "gotcha" in the interaction between the
representation of closures and Scheme-style continuations].
-Rob
-----
Rob Warnock <rpw3@rpw3.org>
627 26th Avenue <URL:http://rpw3.org/>
San Mateo, CA 94403 (650)572-2607