Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: Notesfiles $Revision: 1.6.2.16 $; site ima.UUCP Path: utzoo!decvax!cca!ima!compilers From: compilers@ima.UUCP Newsgroups: mod.compilers Subject: Re: Compilers digest Vol. 1 Number 4 Message-ID: <136300025@ima.UUCP> Date: Mon, 6-Jan-86 22:14:00 EST Article-I.D.: ima.136300025 Posted: Mon Jan 6 22:14:00 1986 Date-Received: Wed, 8-Jan-86 02:57:36 EST Lines: 40 Approved: compilers@ima.uucp Nf-ID: #N:ima:136300025:000:2090 Nf-From: ima!compilers Jan 6 22:14:00 1986 [from rmc at DECVAX/GENRAD/PANDA/TEDDY] Organization: GenRad, Inc., Concord, Mass. For a long time, the two best / only books on Lisp implementation seemed to be Allen's "Anatomy of Lisp" (Academic Press?) and Henderson's "Functional Programming: Application and Implementation" (Prentice Hall, CAR Hoare series with red bindings). I found Allen's text somewhat dry. The main focus was on memory allocation techniques and dynamic binding techniques (important questions to be sure, but...) Henderson's text was less detailed in such areas, but it also did a better job on lazy evaluation and stream support. It also has a very good definition of the SECD machine, which is one of the abstractions used to build reasonable compilers for Lisp. You can also look in Darlington, Henderson & Turner "Functional Programming and its Applications" for some nice articles by Wise and Sussman on optimizing interpreters (the book itself contains general articles from a U of Newcastle on Tyne seminar, and includes information on typed ffp by Guttag and other goodies). Recently (Nov 1985?) MIT Press published Gabriel's "Performance and Evaluation of Lisp Systems". It really has much more low level implementation information available than the title indicates, but i have only skimmed this one and don't know it thoroughly. A major problem with most of the above is that they don't give you any details about lexical scoping. You don't really want to do a Lisp with dynamic scoping any more - there are just too many programming techniques that this makes difficult. Sussman and Abelson's "Structure and Interpretation of Computer Programs" (MIT Press again) is a freshman text introducing programming, but does show some of the discipline. A better source are the Steele and Sussman papers on Scheme from the MIT AI Lab (try AI TR 453 may 1978 "The Art of the Interpreter", 527 nov 1979 "The Dream of a Lifetime: A Lazy Scoping Mechanism" and/or Steele's thesis AI TR 474 "Rabbit: A Compiler for Scheme"). Enjoy! R Mark Chilenskas decvax!genrad!panda!rmc --------