Top Document: FAQ: Scheme Frequently Asked Questions 1/2 [Monthly posting] Previous Document: [1-3] Scheme books, introductions, documentation, periodicals, journals, and conference proceedings. Next Document: [1-7] Standards for Scheme -- What are R4RS and IEEE P1178? See reader questions & answers on this topic! - Help others by sharing your knowledge There is no single book that is really comprehensive, so you will have to combine reading the sources to the various free implementations (e.g., Gambit [Feeley] and S48 [Rees]) with bits and pieces of tech reports and various books. Books about Scheme implementation include: 1. John Allen "Anatomy of Lisp" McGraw-Hill, 1978. 446 pages. ISBN 0-07-001115-X 2. Samuel Kamin "Programming Languages, An Interpreter-Based Approach" Addison-Wesley, Reading, Mass., 1990. ISBN 0-201-06824-9 Includes sources to several interpreters for Lisp-like languages, and a pointer to sources via anonymous ftp. 3. Sharam Hekmatpour "Lisp: A Portable Implementation" Prentice Hall, 1985. ISBN 0-13-537490-X. Describes a portable implementation of a small dynamic Lisp interpreter (including C source code). 4. Peter Henderson "Functional Programming: Application and Implementation" Prentice-Hall (Englewood Cliffs, NJ), 1980. 355 pages. 5. Peter M. Kogge "The Architecture of Symbolic Computers" McGraw-Hill, 1991. ISBN 0-07-035596-7. Includes sections on memory management, the SECD and Warren Abstract Machines, and overviews of the various Lisp Machine architectures. 6. Daniel P. Friedman, Mitchell Wand, and Christopher T. Haynes "Essentials of Programming Languages" MIT Press, 1992, 536 pages. ISBN 0-262-06145-7, $55. Teaches fundamental concepts of programming language design by using small interpreters as examples. Covers most of the features of Scheme. Includes a discussion of parameter passing techniques, object oriented languages, and techniques for transforming interpreters to allow their implementation in terms of any low-level language. Also discusses scanners, parsers, and the derivation of a compiler and virtual machine from an interpreter. Source files available by anonymous ftp from ftp://ftp.cs.indiana.edu/pub/eopl/ (129.79.254.191) or from the Scheme Repository in ftp://ftp.cs.indiana.edu/pub/scheme-repository/doc/lit/ 7. Peter Lee, editor, "Topics in Advanced Language Implementation", The MIT Press, Cambridge, Mass., 1991. Articles relevant to the implementation of functional programming languages. 8. Also see the proceedings of the biannual ACM Lisp and Functional Programming conferences, the implementation notes for CMU Common Lisp, Peter Norvig's book ("Paradigms of AI Programming: Case Studies in Common Lisp", Morgan Kaufmann, 1992. 946 pages. ISBN 1-55860-191-0), and SICP (Abelson & Sussman). 9. Christian Queinnec "Les Langages Lisp" InterEditions (in French), 1994. 500 pages. ISBN 2-7296-0549-5, 61-2448-1. (?) The book covers Lisp, Scheme and other related dialects, their interpretation, semantics and compilation. All of the programs described in the book are available by anonymous ftp from ftp://ftp.inria.fr/INRIA/Projects/icsla/Books/ For more information, see the book's URL file://ftp.inria.fr/INRIA/Projects/icsla/WWW/LiSP.html or contact the author at Christian.Queinnec@inria.fr Technical reports and journal articles about Scheme implementation include: Mitchell Wand and Daniel P. Friedman, "Compiling Lambda Expressions Using Continuations and Factorizations", Journal of Computer Languages 3(1978), 241-263. Guy Lewis Steele Jr., "Rabbit: A Compiler for Scheme", MIT AI Memo 474, Massachusetts Institute of Technology, Cambridge, MA, May 1978. Guy Lewis Steele Jr., "Compiler Optimization Based on Viewing LAMBDA as RENAME + GOTO", in "Artificial Intelligence: An MIT Perspective", Patrick Henry Winston and Richard Henry Brown (eds.), MIT Press, Cambridge, MA, 1980. Jonathan A. Rees and Norman I. Adams, "T: A Dialect of Lisp or, LAMBDA: The Ultimate Software Tool", Conference Record of the 1982 ACM Symposium on Lisp and Functional Programming, 1982, 114-122. R. Kent Dybvig, "C-Scheme", Computer Science Department Technical Report #149 (MS Thesis), Indiana University, Bloomington, IA, 1983. William Clinger, "The Scheme 311 compiler: An Exercise in Denotational Semantics", Conference Record of the 1984 ACM Symposium on Lisp and Functional Programming, 1984, 356-364. Guillermo J. Rozas, "Liar, an Algol-like Compiler for Scheme", S.B. Thesis, Department of Electrical Engineering and Computer Science, Massachusetts Institute of Technology, January 1984. David H. Bartley and John C. Jensen, "The Implementation of PC Scheme", Proceedings of the 1986 ACM Conference on Lisp and Functional Programming, 1986, 86-93. David Kranz, Richard Kelsey, Jonathan A. Rees, Paul Hudak, James Philbin and Norman I. Adams, "Orbit: An Optimizing Compiler for Scheme", Proceedings of the SIGPLAN Notices '86 Symposium on Compiler Construction, June 1986, 219-233. Published as SIGPLAN Notices 21(7), July 1986. Marc Feeley, "Deux Approches a' L'implantation du Language Scheme", M.Sc. Thesis, De'partement d'Informatique et de Recherche Ope'rationelle, University of Montreal, May 1986. R. Kent Dybvig, "Three Implementation Models for Scheme", Department of Computer Science Technical Report #87-011 (Ph.D. Dissertation), University of North Carolina at Chapel Hill, Chapel Hill, North Carolina, April 1987. William D. Clinger, Anne H. Hartheimer and Eric M. Ost, "Implementation Strategies for Continuations", Conference Record of the 1988 ACM Conference on Lisp and Functional Programming, August 1988, 124-131. David Kranz, "Orbit: An Optimizing Compiler for Scheme", Computer Science Technical report #632 (Ph.D. Dissertation), Yale University, 1988. Joel F. Bartlett, "SCHEME->C a Portable Scheme-to-C Compiler", Research Report 89/1, Dec. Western Research Laboratory, Palo Alto, CA, January 1989. Marc Feeley and James S. Miller, "A Parallel Virtual Machine for Efficient Scheme Compilation", Proceedings of the 1990 ACM Conference on Lisp and Functional Programming, Nice, France, June 1990. Chris Hanson, "Efficient Stack Allocation for Tail-Recursive Languages", Proceedings of the 1990 ACM Conference on Lisp and Functional Programming, Nice, France, June 1990. Robert Hieb, R. Kent Dybvig and Carl Bruggeman, "Representing Control in the Presence of First-Class Continuations", Proceedings of the SIGPLAN Notices '90 Conference on Programming Language Design and Implementation, White Plains, New York, June 1990, 66-77. Guillermo Rozas, "Taming the Y Operator", Proceedings of the 1992 ACM Conference on Lisp and Functional Programming, San Francisco, CA, June 1992, 226-234. Dan Teodosiu, "HARE: An Optimizing Portable Compiler for Scheme", ACM Sigplan Notices 26(1), January 1991. User Contributions:Top Document: FAQ: Scheme Frequently Asked Questions 1/2 [Monthly posting] Previous Document: [1-3] Scheme books, introductions, documentation, periodicals, journals, and conference proceedings. Next Document: [1-7] Standards for Scheme -- What are R4RS and IEEE P1178? Part1 - Part2 - Single Page [ Usenet FAQs | Web FAQs | Documents | RFC Index ] Send corrections/additions to the FAQ Maintainer: ai+lisp-faq@cs.cmu.edu
Last Update March 27 2014 @ 02:12 PM
|
Comment about this article, ask questions, or add new information about this topic: