compilers@ima.UUCP (01/03/86)
[from compilers-request at IMA] To: compilers -------- Date: Mon, 9 Dec 85 08:21:18 est The new Red Dragon is a big, beefy text, but it deals almost exclusively with the programming semantics of algebraic-type languages (C, Pascal, PL/I...). Could somebody please direct me to a book which addresses more directly the problems inherent in compiling functional languages (Lisp and friends)? : Ben Goetter : UUCP: {decvax,hsi,spock,apollo}!yale!goetter@UUCP ARPA: goetter@yale.ARPA ("We are not in the Eighth Dimension. We are over New Jersey.") ----------------------------------------------------------------------------- Send submissions to: ima!compilers Send requests for additions, deletions, back issues, etc. to: ima!compilers-request ima is reachable as { ucbvax!cbosgd | ihnp4 | cca | bbncca | think | uiucdcs | allegra | inmet | yale | harvard }!ima!... Arpa mail may make it to ima!compilers@CCA-UNIX or ima!compilers@BBNCCA Peter Barada (editor) John Levine (mailman) --------
compilers@ima.UUCP (01/03/86)
[from darryl at ISM780C (Darryl Richman)] I was just reviewing some of the previous digests and I notcied Ben Goetter's request for information about compiling Lisp. Here's a book I read a while ago that has a lot of good information about building machines for executing Lisp: "Functional Programming - Application and Implementation" Peter Henderson, Prentice Hall International, Englewood Cliffs, New Jersey, 1980, ISBN 0-13-331579-7. I suspect that a lot of the information describing Henderson's Lisp machine could be used to describe the runtime environment for a compiler. --Darryl Richman, INTERACTIVE Systems Corp. ...!cca!ima!ism780!darryl The views expressed above are my opinions only. --------
compilers@ima.UUCP (01/07/86)
[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 --------