ABSTRACT
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.
- Harold Abelson, Gerald Jay Sussman, and Julie Sussman. Structure and interpretation of computer programs. MIT Press, Cambridge, MA, USA, 1985. Google ScholarDigital Library
- J. Michael Ashley and R. Kent Dybvig. An efficient implementation of multiple return values in Scheme. In Proceedings of the 1994 ACM Conference on Lisp and Functional Programming, pages 140--149, June 1994. Google ScholarDigital Library
- G.M. Birtwhistle, O.J. Dahl, B. Myhrhaug, and K. Nygaard. Simula Begin. Chartwell-Bratt Ltd, 1979. Google ScholarDigital Library
- Carl Bruggeman, Oscar Waddell, and R. Kent Dybvig. Representing control in the presence of one-shot continuations. In Proceedings of the SIGPLAN '96 Conference on Programming Language Design and Implementation, pages 99--107, May 1996. Google ScholarDigital Library
- Robert G. Burger and R. Kent Dybvig. Printing floating-point numbers quickly and accurately. In Proceedings of the SIGPLAN '96 Conference on Programming Language Design and Implementation, pages 108--116, May 1996. Google ScholarDigital Library
- Robert G. Burger and R. Kent Dybvig. An infrastructure for profiledriven dynamic recompilation. In Proceedings of the IEEE Computer Society 1998 International Conference on Computer Languages, pages 240--251, May 1998. Google ScholarDigital Library
- Robert G. Burger, Oscar Waddell, and R. Kent Dybvig. Register allocation using lazy saves, eager restores, and greedy shuffling. In Proceedings of the SIGPLAN '95 Conference on Programming Language Design and Implementation, pages 130--138, June 1995. Google ScholarDigital Library
- Cadence Research Systems, Bloomington, Indiana. Chez Scheme System Manual, August 1989.Google Scholar
- Cadence Research Systems, Bloomington, Indiana. Chez Scheme System Manual, Rev. 2.0, December 1990.Google Scholar
- Cadence Research Systems. Chez Scheme System Manual, Rev. 2.5, October 1994.Google Scholar
- Luca Cardelli. Compiling a functional language. In LFP '84: Proceedings of the 1984 ACM Symposium on LISP and functional programming, pages 208--217, New York, NY, USA, 1984. ACM Press. Google ScholarDigital Library
- Gregory J. Chaitin. Register allocation & spilling via graph coloring. In SIGPLAN '82: Proceedings of the 1982 SIGPLAN symposium on Compiler construction, pages 98--105, New York, NY, USA, 1982. ACM Press. Google ScholarDigital Library
- Rex A. Dwyer and R. Kent Dybvig. A SCHEME for distributed processes. Computer Science Department Technical Report #107, Indiana University, Bloomington, Indiana, April 1981.Google Scholar
- R. Kent Dybvig. C-Scheme. MasterÆs thesis, Indiana University Computer Science Department Technical Report #149, 1983.Google Scholar
- R. Kent Dybvig. The Scheme Programming Language. Prentice-Hall, 1987. Google ScholarDigital Library
- R. Kent Dybvig. Three Implementation Models for Scheme. PhD thesis, University of North Carolina Technical Report #87-011, Chapel Hill, April 1987. Google ScholarDigital Library
- R. Kent Dybvig. Writing hygienic macros in scheme with syntaxcase. Technical Report 356, Indiana University, June 1992.Google Scholar
- R. Kent Dybvig. The Scheme Programming Language. Prentice Hall, second edition, 1996. Google ScholarDigital Library
- R. Kent Dybvig. Chez Scheme UserÆs Guide. Cadence Research Systems, 1998.Google Scholar
- R. Kent Dybvig. The Scheme Programming Language. MIT Press, third edition, 2003. Google ScholarDigital Library
- R. Kent Dybvig. Chez Scheme Version 7 UserÆs Guide. Cadence Research Systems, 2005.Google Scholar
- R. Kent Dybvig, Carl Bruggeman, and David Eby. Guardians in a generation-based garbage collector. In Proceedings of the SIGPLAN '93 Conference on Programming Language Design and Implementation, pages 207--216, June 1993. Google ScholarDigital Library
- R. Kent Dybvig, David Eby, and Carl Bruggeman. DonÆt stop the BiBOP: Flexible and efficient storage management for dynamicallytyped languages. Technical Report 400, Indiana Computer Science Department, March 1994.Google Scholar
- R. Kent Dybvig, Daniel P. Friedman, and Christopher T. Haynes. Expansion-passing style: Beyond conventional macros. In Proceedings of the 1986 ACM Conference on LISP and Functional Programming, pages 143--150, 1986. Google ScholarDigital Library
- R. Kent Dybvig, Daniel P. Friedman, and Christopher T. Haynes. Expansion-passing style: A general macro mechanism. Lisp and Symbolic Computation, 1 1):53--75, 1988.Google ScholarCross Ref
- R. Kent Dybvig and Robert Hieb. A variable-arity procedural interface. In Proceedings of the 1988 ACM Conference on Lisp and Functional Programming, pages 106--115, July 1988. Google ScholarDigital Library
- R. Kent Dybvig and Robert Hieb. Engines from continuations. Computer Languages, 14(2):109--123, 1989. Google ScholarDigital Library
- R. Kent Dybvig and Robert Hieb. A new approach to procedures with variable arity. Lisp and Symbolic Computation, 3(3):229--244, September 1990. Google ScholarDigital Library
- R. Kent Dybvig, Robert Hieb, and Carl Bruggeman. Syntactic abstraction in Scheme. Lisp and Symbolic Computation, 5(4):295--326, 1993. Google ScholarDigital Library
- R. Kent Dybvig, Robert Hieb, and Tom Butler. Destination-driven code generation. Technical Report 302, Indiana Computer Science Department, February 1990.Google Scholar
- R. Kent Dybvig and Bruce T. Smith. Chez Scheme Reference Manual, Version 1. 0. Cadence Research Systems, Chapel Hill, North Carolina, May 1985.Google Scholar
- Robert E. Filman and Daniel P. Friedman. Coordinated computing: tools and techniques for distributed software. McGraw-Hill, Inc., New York, NY, USA, 1984. Google ScholarDigital Library
- John K. Foderaro, Keith L. Sklower, and Kevin Layer. The Franz LISP Manual. University of California, Berkeley, 1983.Google Scholar
- Per Brinch Hansen. Distributed processes: a concurrent programming concept. Communications of the ACM, 21(11):934--941, 1978. Google ScholarDigital Library
- Christopher T. Haynes and Daniel P. Friedman. Abstracting timed preemption with engines. Computer Languages, 12(2):109--121, 1987. Google ScholarDigital Library
- Robert Hieb, R. Kent Dybvig, and Carl Bruggeman. Representing control in the presence of first-class continuations. In Proceedings of the SIGPLAN '90 Conference on Programming Language Design and Implementation, pages 66--77, June 1990. Google ScholarDigital Library
- Robert Hieb, R. Kent Dybvig, and Carl Bruggeman. Syntactic abstraction in scheme. Technical Report 355, Indiana University, June 1992.Google Scholar
- Suresh Jagannathan and Andrew Wright. Flow-directed inlining. In Proceedings of the ACM SIGPLAN '96 Conference on Programming Language Design and Implementation, pages 193--205, 1996. Google ScholarDigital Library
- B.W. Kernighan and D.M. Ritchie. The C Programming Language. Prentice-Hall, 1978. Google ScholarDigital Library
- Brian W. Kernighan and Dennis M. Ritchie. The M4 Macro Processor, 1979.Google Scholar
- Eugene Kohlbecker. Syntactic Extensions in the Programming Language Lisp. PhD thesis, Indiana University, Bloomington, August 1986. Google ScholarDigital Library
- Eugene Kohlbecker, Daniel P. Friedman, Matthias Felleisen, and Bruce Duba. Hygienic macro expansion. In Proceedings of the 1986 ACM Conference on LISP and Functional Programming, pages 151--161, 1986. Google ScholarDigital Library
- Henry Lieberman and Carl Hewitt. A real-time garbage collector based on the lifetimes of objects. Communications of the ACM, 26(6):419--429, 1983. Google ScholarDigital Library
- Gyula Mago. A cellular computer architecture for functional programming. In Proc. COMPCON Spring, IEEE Comp. Soc. Conf., pages 179--187, 1980.Google Scholar
- John McCarthy, Paul W. Abrahams, Daniel J. Edwards, Timothy P. Hart, and Michael I. Levin. LISP 1.5 ProgrammerÆs Manual. The MIT Press, Cambridge, Mass., 1966. second edition.Google Scholar
- Brian Randell and Lawford J. Russell. ALGOL 60 Implementation. Academic Press, London, 1964. Google ScholarDigital Library
- Jonathan A. Rees and Norman I. Adams IV. T: a dialect of lisp or lambda: The ultimate software tool. In LFP '82: Proceedings of the 1982 ACM symposium on LISP and functional programming, pages 114--122, New York, NY, USA, 1982. ACM Press. Google ScholarDigital Library
- Digital Research. CP/M Operating System Manual. Pacific Grove, CA, USA, 1976.Google Scholar
- Robert A. Saunders. The LISP system for the q-32 computer. In Edmund C. Berkeley and Daniel G. Bobrow, editors, The Programming Language LISP: Its Operation and Applications. Information International, Inc. and MIT Press, 1964.Google Scholar
- Patrick G. Sobalvarro. A lifetime-based garbage collector for LISP systems on general-purpose computers. B. S. Thesis, Massachusetts Institute of Technology, Electrical Engineering and Computer Science Department, Cambridge, MA., September 1988.Google Scholar
- Guy L. Steele Jr. Data representation in PDP-10 MACLISP. MIT AI Memo 421, Massachusetts Institute of Technology, September 1977.Google Scholar
- Guy L. Steele Jr. and Gerald J. Sussman. The revised report on Scheme, a dialect of Lisp. MIT AI Memo 452, Massachusetts Institute of Technology, January 1978.Google Scholar
- Guy L. Steele Jr. and Jon L. White. How to print floating-point numbers accurately. ACM SIGPLAN '90 Conference on Programming Language Design and Implementation, 25(6):112--126, June 1990. Google ScholarDigital Library
- David Ungar. Generation scavenging: A non-disruptive high performance storage reclamation algorithm. In SDE 1: Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments, pages 157--167, New York, NY, USA, 1984. ACM Press. Google ScholarCross Ref
- Oscar Waddell and R. Kent Dybvig. Fast and effective procedure inlining. In Proceedings of the Fourth International Symposium on Static Analysis, volume 1302 of Lecture Notes in Computer Science, pages 35--52. Springer-Verlag, September 1997. Google ScholarDigital Library
- Oscar Waddell and R. Kent Dybvig. Extending the scope of syntactic abstraction. In Conference Record of the Twenty Sixth Annual ACM Symposium on Principles of Programming Languages, pages 203--213, January 1999. Google ScholarDigital Library
- Oscar Waddell, Dipanwita Sarkar, and R. Kent Dybvig. Fixing letrec: A faithful yet efficient implementation of Scheme's recursive binding construct. Higher-order and and symbolic computation, 18(3/4):299--326, 2005. Google ScholarDigital Library
Index Terms
- The development of Chez Scheme
Recommendations
Rebuilding racket on chez scheme (experience report)
We rebuilt Racket on Chez Scheme, and it works well—as long as we're allowed a few patches to Chez Scheme. DrRacket runs, the Racket distribution can build itself, and nearly all of the core Racket test suite passes. Maintainability and performance ...
The development of Chez Scheme
Proceedings of the 2006 ICFP conferenceChez 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.
A high-order accurate hybrid scheme using a central flux scheme and a WENO scheme for compressible flowfield analysis
A high-order accurate hybrid central-WENO scheme is proposed. The fifth order WENO scheme [G.S. Jiang, C.W. Shu, Efficient implementation of weighted ENO schemes, J. Comput. Phys. 126 (1996) 202-228] is divided into two parts, a central flux part and a ...
Comments