Scheme
Scheme is a LISP dialect introduced in 1975 that cuts down the language considerably but at the same time adds some functional features. The most popular variant of LISP for a while as it was much simpler to implement than full LISP or the later Common Lisp.
There is also yet another schism happening in the Scheme world, most modern versions and all OS/2 version of Scheme follow the Revised(5) Report on the Algorithmic Language Scheme or the older but largely identical Revised(4), but a new Revised(6) standard from 2007 that introduces a number of incompatibilities has got a part of the Scheme community in a knot, meaning that some Scheme implementations aim at R(6) compatibility while others have declared that they will not use R(6) and continue developing from the R(5) standard.
Contents
Standards
The newest Revised(7) standard partly aims merging the R5R and R6R to a degree, the R7RS-small standard was published in 2013 and describes a subset of the language that mostly maintains the R5R semantics but takes the record types, libraries and exception handling form R6R. The full standard is still being worked on.
- Gerald Jay Sussman and Guy Lewis Steele Jr.: Scheme: an interpreter for extended lambda calculus. Technical Report - MIT Artificial Intelligence Memo 349 December 1975.
- Guy Lewis Steele Jr. and Gerald Jay Sussman: The revised report on Scheme, a dialect of Lisp. Technical Report - MIT Artificial Intelligence Memo 452 January 1978.
- William Clinger and Jonathan Rees (Editors): Revised(3) Report on the Algorithmic Language Scheme - ACM SIGPLAN Notices 21(12), pages 37-79, December 1986.
- 1178-1990 - IEEE Standard for the Scheme Programming Language - 1991
- The only formal standard for Scheme, largely ignored.
- William Clinger and Jonathan Rees (Editors): Revised(4) Report on the Algorithmic Language Scheme - ACM Lisp Pointers IV (July-September 1991).
- Richard Kelsey, William Clinger and Jonathan Rees (Editors): Revised(5) Report on the Algorithmic Language Scheme - Higher-Order and Symbolic Computation Volume 11, Issue 1, August 1998
- Michael Sperber, R. Kent Dybvig, Matthew Flatt, Anton van Straaten (Editors): Revised(6) Report on the Algorithmic Language Scheme - 2007
- Note, this standard is quite incompatible with Revised(5) in places and therefore not widely used.
- Revised(6) Report on the Algorithmic Language Scheme - R7RS-small 2013 - R7RS-large unfinished.
OS/2 Implementations
- MIT/GNU Scheme - Open Source
- SCM Scheme 4e1 - GNU GPL v1
- XScheme
Libraries
- SLIB Portable Scheme Library - Portable version of Scheme in a library form
Snippets
- Defstruct - CL like Defstruct for Scheme
DOS Implementations
- EdScheme
- Gambit-C
- SCM
- Texas Instruments/Ibuki PC Scheme
Publications
- Nils M. Holm: Sketchy LISP - 2009 - Public domain Scheme tutorial
- Abelson, Sussman: Structure and Interpretation of Computer Programs - McGraw-Hill 1985, ISBN 0-07-000422-6
- R. Kent Dybvig: The Scheme Programming Language - MIT Press, ISBN 0-262-54148-3
- Springer, Friedman: Scheme and the Art of Programming - MIT Press 1989, ISBN 0-262-19288-8
- Brian Harvey; Matthew Wright: Simply Scheme - MIT 1994, ISBN 0-262-08226-8
Links
- http://www.scheme-reports.org
- http://www.schemers.org
- List of R7RS implementations - None of OS/2 so for but a starting point for anyone that wants to start a port.
- Tutorials
- The Adventures of a Pythonista in Schemeland
- Christian Stigen Larsen: A Short R⁷RS Scheme Tutorial