From: Haoyu Meng
Subject: Book on Lisp implementation?
Date: 
Message-ID: <01bb9a26.0ad3ad60$7d22e498@hal100>
Does anybody know a good book that explains in detail how to actually
implement
a lisp system (interpreter or compiler)? I would like info on any book
that explains
the internal machine implementation level architecture and mechanisms of
lisp. I
need to know these for a robotics project.

Btw, please email me directly at ·····@athena.valpo.edu; I don't have
enough time to keep up with the news group.

Thanks!

- Haoyu

From: David B. Lamkins
Subject: Re: Book on Lisp implementation?
Date: 
Message-ID: <19960904084217275226@ip-pdx02-10.teleport.com>
Haoyu Meng <·····@athena.valpo.edu> wrote:

> Does anybody know a good book that explains in detail how to actually
> implement
> a lisp system (interpreter or compiler)? I would like info on any book
> that explains
> the internal machine implementation level architecture and mechanisms of
> lisp. I
> need to know these for a robotics project.

Although dated (it does not cover lexical scoping or CLOS), John Allen's
"Anatomy of Lisp" (McGraw-Hill, 1978, ISBN 0-07-001115-X) is very
thorough.  Unfortunately, you'll probably have to scour used-book stores
to find a copy.

"The Structure and Interpretation of Computer Programs" by Abelson &
Sussman devotes a section to interpretation and compilation.

Winston & Horn's "Lisp, 3rd Ed." is commonly available and has a couple
of chapters (17 & 18) on implementation details.  However, this is
Lisp-in-Lisp, so you won't see through to the bare metal of the machine
below.

If you want to see how a Lisp interacts with the hardware, your best bet
is to read the code of an existing system.  CMU CL, GNU GCL, Yale T, and
several Scheme compilers should all be accessible on the net -- I don't
have ready references, so try a search.

If you want insight into how CLOS works, look at "The Art of the
Metaobject Protocol" by Kiczales et al.

If you're interested in GC, I'd suggest a literature search going back
as far as the 70s.  A lot of the GC material on net deals with problems
which are not as hard in Lisp, e.g. knowing how to find all of the live
objects in the heap.

-- 
Dave Lamkins, http://www.teleport.com/~dlamkins/
CPU Cycles: Use them now, or lose them forever...
From: Marc Wachowitz
Subject: Re: Book on Lisp implementation?
Date: 
Message-ID: <50qchv$40p@trumpet.uni-mannheim.de>
Haoyu Meng <·····@athena.valpo.edu> wrote:
> Does anybody know a good book that explains in detail how to actually
> implement a lisp system (interpreter or compiler)?

David B. Lamkins (········@teleport.com) wrote:
> Although dated (it does not cover lexical scoping or CLOS), John Allen's
> "Anatomy of Lisp" (McGraw-Hill, 1978, ISBN 0-07-001115-X) is very
> thorough.

The Scheme repository (ftp://ftp.cs.indiana.edu/pub/scheme-repository)
contains Kent Dybvig's dissertation "Three Implementation Models for
Scheme"; I think the file is named 3imp.ps.Z or something like that.
Mapping his description to a lower level (if needed) shouldn't be too
hard for someone with experience in systems programming.

> If you're interested in GC, I'd suggest a literature search going back
> as far as the 70s.

For many texts on garbage collection, and some on implementing Scheme,
look at Paul Wilson's home page (http://www.cs.utexas.edu/users/wilson,
or fetch the stuff directly from ftp://ftp.cs.utexas.edu/pub/garbage
and ftp://ftp.cs.utexas.edu/pub/garbage/schnotes).

-- Marc Wachowitz <··@ipx2.rz.uni-mannheim.de>
From: Pierpaolo Bernardi
Subject: Re: Book on Lisp implementation?
Date: 
Message-ID: <5118ah$161c@serra.unipi.it>
David B. Lamkins (········@teleport.com) wrote:
: Haoyu Meng <·····@athena.valpo.edu> wrote:

: > Does anybody know a good book that explains in detail how to actually
: > implement
: > a lisp system (interpreter or compiler)? I would like info on any book
: > that explains
: > the internal machine implementation level architecture and mechanisms of
: > lisp. I
: > need to know these for a robotics project.

: Although dated (it does not cover lexical scoping or CLOS), John Allen's
: "Anatomy of Lisp" (McGraw-Hill, 1978, ISBN 0-07-001115-X) is very
: thorough.  Unfortunately, you'll probably have to scour used-book stores
: to find a copy.

'The Anatomy' is good, but _very_ dated.

Maybe a better alternative would be 'Lisp in small pieces' by
Christian Queinnec.

The book contains several interpreters and compilers.  These programs
and other informations on the book are available by ftp from:
ftp.inria.fr:/INRIA/Projects/icsla/Books/LiSP-something.

Regards,   Pierpaolo.