Subject: Re: Help understanding closures
From: (Rob Warnock)
Date: Wed, 12 Mar 2003 00:55:59 -0600
Newsgroups: comp.lang.lisp
Message-ID: <>
Peter Seibel  <> wrote:
| Bruce Hoult <> 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 Warnock, PP-ASEL-IA		<>
627 26th Avenue			<URL:>
San Mateo, CA 94403		(650)572-2607