Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!unmvax!ncar!ames!hc!lanl!beta!hwe From: hwe@beta.lanl.gov (Skip Egdorf) Newsgroups: comp.lang.lisp Subject: Re: Information on Lisp Interpreters/Compilers Summary: THE book! Message-ID: <23563@beta.lanl.gov> Date: 18 Feb 89 03:49:26 GMT References: <105@innovus.UUCP> Organization: Los Alamos National Laboratory Lines: 42 In article , jac@paul.rutgers.edu (J. A. Chandross) writes: > I am interested in writing a Lisp interpreter. This is mostly for the > educational experience, but I do have an application which would benefit > from a fairly stripped down version of Lisp. > ... > > Jonathan A. Chandross > Internet: jac@paul.rutgers.edu > Uucp: rutgers!jac@paul.rutgers.edu Try to find a copy of Anatomy of Lisp John Allen McGraw-Hill 1978 ISBN 0-07-001115-X Even though it pre-dates common lisp, it contains information on implementation strategies for the differently scoped kinds of lisps, garbage collectors, and everything else needed to implement any sort of Lisp you wish within reason. The book is hard to get into at first because the author introduces a very formal notation for lisp in order to seperate the syntax from any pre-conceived semantics (I think...). If you hang in there, you will be rewarded with a very good understanding of the internals of Lisp. As in any field, advances have been made in Lisp technology in the last ten years. You should find Allen's book a good basis for getting into more current papers regarding Lisp implementations. The only other alogrithmic help you might need is the reader, where I reccommend Steele's book. The chapter on the reader is enough to allow one to construct a lisp reader from scratch. (Well, I got one working doing nothing more than following the book.) I did the same as you suggest a few years ago; Try to write a simple Lisp just for the fun of it (in my case). With Allen's and Steele's books, I found the job both do-able and enjoyable. Everyone needs a hobby I guess. Let us (the net) know how you do. Skip Egdorf hwe@lanl.gov