The development of Chez Scheme

Chez Scheme is now over 20 years old, the first version having been released in 1985. This paper takes a brief look back on the history of Chez Scheme's development to explore how and why it became the system it is today.

[1]  Daniel P. Friedman,et al.  Coordinated computing: tools and techniques for distributed software , 1984 .

[2]  R. Kent Dybvig,et al.  Expansion-passing style: A general macro mechanism , 1988, LISP Symb. Comput..

[3]  R. Kent Dybvig,et al.  Extending the scope of syntactic abstraction , 1999, POPL '99.

[4]  Daniel P. Friedman,et al.  Abstracting Timed Preemption with Engines , 1987, Comput. Lang..

[5]  Guy L. Steele,et al.  How to print floating-point numbers accurately , 1990, PLDI '90.

[6]  R. Kent Dybvig,et al.  Fast and Effective Procedure Inlining , 1997, SAS.

[7]  R. Kent Dybvig,et al.  Don't Stop the BIBOP: Flexible and Ecient Storage Management for Dynamically Typed Languages , 1994 .

[8]  R. Kent Dybvig,et al.  Printing floating-point numbers quickly and accurately , 1996, PLDI '96.

[9]  Robert Hieb,et al.  Engines From Continuations , 1989, Comput. Lang..

[10]  David Ungar Generation scavenging: a nondisruptive high performance storage reclamation algorithm , 1984 .

[11]  R. Kent Dybvig,et al.  Writing Hygienic Macros in Scheme with Syntax-Case , 1992 .

[12]  Henry Lieberman,et al.  A real-time garbage collector based on the lifetimes of objects , 1983, CACM.

[13]  R. Kent Dybvig,et al.  Fixing Letrec: A Faithful Yet Efficient Implementation of Scheme's Recursive Binding Construct , 2005, High. Order Symb. Comput..

[14]  R. Kent Dybvig,et al.  Guardians in a generation-based garbage collector , 1993, PLDI '93.

[15]  R. Kent Dybvig,et al.  Representing control in the presence of one-shot continuations , 1996, PLDI '96.

[16]  Michael Hucka,et al.  Programmer's Manual , 2004 .

[17]  Brian Randall,et al.  ALGOL 60 implementation , 1964 .

[18]  R. Kent Dybvig,et al.  Register allocation using lazy saves, eager restores, and greedy shuffling , 1995, PLDI '95.

[19]  R. Kent Dybvig,et al.  Expansion-passing style: beyond conventional macros , 1986, LFP '86.

[20]  Robert Hieb,et al.  A new approach to procedures with variable arity , 1990, LISP Symb. Comput..

[21]  Guy L. Steele Data Representations in PDP-10 MACLISP , 1977 .

[22]  LiebermanHenry,et al.  A real-time garbage collector based on the lifetimes of objects , 1983 .

[23]  John McCarthy,et al.  LISP 1.5 Programmer's Manual , 1962 .

[24]  Per Brinch Hansen,et al.  Distributed processes: a concurrent programming concept , 1978, CACM.

[25]  R. Kent Dybvig,et al.  An efficient implementation of multiple return values in Scheme , 1994, LFP '94.

[26]  Jonathan Rees,et al.  T: a dialect of Lisp or LAMBDA: The ultimate software tool , 1982, LFP '82.

[27]  Gregory J. Chaitin,et al.  Register allocation & spilling via graph coloring , 1982, SIGPLAN '82.

[28]  Gerald Jay Sussman,et al.  The Revised Report on SCHEME: A Dialect of LISP. , 1978 .

[29]  D. Bobrow,et al.  THE PROGRAMMING LANGUAGE LISP: ITS OPERATION AND APPLICATIONS, , 1967 .

[30]  Suresh Jagannathan,et al.  Flow-directed inlining , 1996, PLDI '96.

[31]  Brian W. Kernighan,et al.  The m4 macro processor , 1977 .

[32]  R. Kent Dybvig The Scheme Programming Language, ANSI Scheme , 1996 .

[33]  David M. Ungar,et al.  Generation Scavenging: A non-disruptive high performance storage reclamation algorithm , 1984, SDE 1.

[34]  E E Kohlbecker,et al.  Syntactic extensions in the programming language LISP , 1986 .

[35]  Robert Hieb,et al.  A variable-arity procedural interface , 1988, LFP '88.

[36]  O. J. Dahl,et al.  Simula Begin , 1979 .

[37]  Robert Hieb,et al.  Syntactic abstraction in scheme , 1992, LISP Symb. Comput..

[38]  Patrick Sobalvarro,et al.  A Lifetime-based Garbage Collector for LISP Systems on General- Purpose Computers , 1988 .

[39]  R. K. Dybvig Three implementation models for scheme , 1987 .

[40]  M.N. Sastry,et al.  Structure and interpretation of computer programs , 1986, Proceedings of the IEEE.

[41]  R. Kent Dybvig,et al.  An infrastructure for profile-driven dynamic recompilation , 1998, Proceedings of the 1998 International Conference on Computer Languages (Cat. No.98CB36225).

[42]  Robert Hieb,et al.  Representing control in the presence of first-class continuations , 1990, PLDI '90.

[43]  Brian W. Kernighan,et al.  The C Programming Language , 1978 .

[44]  Robert Hieb,et al.  Destination-Driven Code Generation , 1990 .

[45]  Luca Cardelli,et al.  Compiling a functional language , 1984, LFP '84.

[46]  R. Kent Dybvig,et al.  The Scheme Programming Language , 1995 .

[47]  Matthias Felleisen,et al.  Hygienic macro expansion , 1986, LFP '86.