jk0@sun.soe.clarkson.edu (Jason Coughlin) (01/10/90)
This is quite a hot issue so I thought I'd post a summary of what I received. Thanks to everyone who gave me a lead! The best I've found so far is in _Structure and Interpretation and Computer Programs_ by Harold Abelson, Gerald Jay Sussman, and Julie Sussman. This is a GREAT book that IMHO should be used to teach undergrad Programming Languages courses. Anyway, enjoy! From: Ozan Yigit <oz@nexus.yorku.ca> * The best reference on compiling scheme appears to be SIofCP of Abelson & Sussman. * Also check out xscheme * Allen's "Anatomy Of Lisp" also has a From: Matthias Felleisen <matthias@rice.edu> * You may want to look at a paper by Will Clinger in the proceedings of Lisp & Functional Programming 1984. His paper on deriving a byte-code compiler for Scheme has some title like "An exercise in denotational semantics." The resulting system, Scheme 311, was used at Indiana for a few years. * If you want the code of a byte-code compiler for unix machines and you have FRANZ LISP, write to nlg@indiana.iuvax.cs.edu and ask whether they still distribute Scheme84. I have a revision of Scheme84, called Scheme88, that is pretty much the same thing (a bit cleaner inside, but not much) except that it uses Common Lisp for the interpretation of byte-code. From: Denys Duchier <duchier-denys@YALE.ARPA> * Check Guy Steele's thesis (RABBIT a compiler for scheme) (MIT) * also David Krantz's thesis (ORBIT, an optimizing compiler for scheme) (YALE). From: Simon Leinen <simon%opal.cs.tu-berlin.de%tub.BITNET@clvm.clarkson.edu> here comes a list of references to books and articles about the problem of compiling Scheme or Lisp. I don't know whether it is correct `refer' syntax. I distributed the following keywords of my own creation: scheme - concerned with scheme rather than lisp lisp - concerned with lisp rather than scheme commonlisp - maclisp/common lisp (more like scheme) standardlisp - psl/cambridge etc. (less like scheme, e.g. no closures) compiler - all articles deal with compilation (more or less) %A R. R. Kessler %A J. C. Peterson %A H. Carr %A G.P. Duggan %A J. Knell %A J.J. Krohnfeldt %T EPIC - a retargetable, highly optimizing Lisp compiler %J Proc. Sigplan 1986 Sym. on Compiler Construction %D June 1986 %C New York %P 118-130 %K lisp standardlisp compiler %A D. Kranz %A R. Kelsey %A J. Rees %A P. Hudak %A J. Philbin %A N. Adams %T ORBIT: an optimizing compiler for Scheme %J Proc. Sigplan '86 Sym. on Compiler Construction %D June 1986 %C New York %P 219-233 %K scheme compiler %A G. L. Steele Jr. %T RABBIT: a compiler for Scheme %R AI Memo 474 %C Massachusetts Institute of Technology %D May 1978 %K scheme compiler %A R. A. Brooks %A R. P. Gabriel %A G. L. Steele Jr. %T An optimizing compiler for lexicaly scoped LISP %J Proc. 1982 Sym. on Compiler Construction %D June 1982 %V 17 %N 4 %K lisp commonlisp compiler %A R. A. Brooks %A R. P. Gabriel %A G. L. Steele Jr. %T S-1 Common Lisp implementation %J Proc. 1982 Sym. on Lisp and Functional Programming %D August 1982 %C New York %K lisp commonlisp compiler %A O. Shivers %T Control flow analysis in Scheme %J Proc. Sigplan 1988 Conf. on Programming Language Design and Implementation %D 1988 %C New York %K scheme compiler %A R. A. Brooks %A D. B. Posner %A J. L. McDonald %A J. L. White %A E. Benson %A R. P. Gabriel %T Design of an optimizing, dynamically retargetable compiler for Common Lisp %K lisp commonlisp compiler %A R. P. Gabriel %T Performance and evaluation of Lisp systems %I MIT Press %C Cambridge, Mass. %D 1985 %K lisp compiler %A M. L. Griss %A A. C. Hearn %T A portable LISP compiler %J Software Practice and Experience %N 11 %D 1981 %P 541-605 %K lisp standardlisp compiler -- Jason Coughlin ( jk0@sun.soe.clarkson.edu , jk0@clutx ) "Every jumbled pile of person has a thinking part that wonders what the part that isn't thinking isn't thinking of." - They Might Be Giants
kend@tekchips.LABS.TEK.COM (Ken Dickey) (01/11/90)
In article <1990Jan10.024859.28865@sun.soe.clarkson.edu> jk0@sun.soe.clarkson.edu (Jason Coughlin) writes: >This is quite a hot issue so I thought I'd post a summary of what I >received. Thanks to everyone who gave me a lead! > I guess I missed your request. Here are the references I have to published works on Scheme compilation: Sussman, Gerald Jay: "LISP, Programming and Implementation", in "Functional Programming and its Applications" Eds: Darlington, Henderson, & Turner Cambridge U Press, 1982 Abelson & Sussman: "Structure and Interpretation of Computer Programs" MIT Press, 1985 Steele: "RABBIT: A Compiler for SCHEME (A Study in Compiler Optimization)" MIT AI-TR-474, May 1978 Rosas, Guillermo: "Liar, an Algol-like Compiler for Scheme" MIT Bachelor's thesis, January 24, 1987 Clinger, Will:"The Scheme 311 Compiler, An Excercise in Denotational Semantics" 1984 Symposium on Lisp and Functional Programming Bartley & Jensen: "The Implementation of PC Scheme" Proceedings of the 1986 ACM Conference on Lisp and Functional Programming Kranz, ... Adams , et al: "Orbit, an Optimizing Compiler for Scheme" SigPlan Notices V21, #7, July 1986 Wand: "From Interpreter to Compiler: A Representational Derivation" in "Programs as Data Objects", Springer-Verlag lecture notes 217, 1986. Feeley & Lapine: "Using Closures for Code Generation" Computer Languages: V12, #1 1987 Vegdahl & Pleban: "The Runtime Environment for Screme, a Scheme implementation on the 88000", SIGPLAN Notices, Vol 24 Special Issue, May 1989. Also, the latest issue of LISP AND SYMBOLIC COMPUTATION which contains a loooong article on compiling Scheme for parallel machines. -Ken Dickey
kend@tekchips.LABS.TEK.COM (Ken Dickey) (01/12/90)
Upon reading my posting I see that I forgot Kent Dybvig's Thesis: "Three Implementation Models for Scheme", U of North Carolina at Chappel Hill, 1987. (Sorry, Kent!) -Ken Dickey
grunwald@foobar.colorado.edu (Dirk Grunwald) (01/13/90)
sadly, you all missed one of the more interesting papers, by luddy harrison at the Univ. of Illinois Center for Supercomputing Res. and Dev. (CSRD). ``compiling lisp for evaluation on a tightly coupled multiprocessor'' CSRD tech report #565 by W. Ludwell Harrison, III luddy wrote a scheme compiler that allegedly out-gabriales everything. It runs on an alliant FX-8. It concurrentizes & vectorizes, if I recall correctly. Dirk Grunwald -- Univ. of Colorado at Boulder (grunwald@foobar.colorado.edu) (grunwald@boulder.colorado.edu)