Jump to content

Scheme: Difference between revisions

From EDM2
Ak120 (talk | contribs)
mNo edit summary
Ak120 (talk | contribs)
mNo edit summary
Line 1: Line 1:
'''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]] but its popularity has waned considerably.
'''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.
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.
Line 13: Line 13:
* William Clinger and Jonathan Rees (Editors): [http://people.csail.mit.edu/jaffer/r4rs_toc.html Revised(4) Report on the Algorithmic Language Scheme] - ACM Lisp Pointers IV (July-September 1991).
* William Clinger and Jonathan Rees (Editors): [http://people.csail.mit.edu/jaffer/r4rs_toc.html Revised(4) Report on the Algorithmic Language Scheme] - ACM Lisp Pointers IV (July-September 1991).
* Richard Kelsey, William Clinger and Jonathan Rees (Editors): [http://people.csail.mit.edu/jaffer/r5rs_toc.html Revised(5) Report on the Algorithmic Language Scheme] - Higher-Order and Symbolic Computation Volume 11, Issue 1, August 1998
* Richard Kelsey, William Clinger and Jonathan Rees (Editors): [http://people.csail.mit.edu/jaffer/r5rs_toc.html 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): [http://www.r6rs.org/final/r6rs.pdf Revised(6) Report on the Algorithmic Language Scheme] - 2007
* Michael Sperber, R. Kent Dybvig, Matthew Flatt, Anton van Straaten (Editors): [http://www.r6rs.org/final/r6rs.pdf 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.
:Note, this standard is quite incompatible with Revised(5) in places and therefore not widely used.
* [http://trac.sacrideo.us/wg/wiki/R7RSHomePage Revised(6) Report on the Algorithmic Language Scheme] - R7RS-small 2013 - R7RS-large unfinished.
* [http://trac.sacrideo.us/wg/wiki/R7RSHomePage Revised(6) Report on the Algorithmic Language Scheme] - R7RS-small 2013 - R7RS-large unfinished.
Line 23: Line 23:


===Libraries===
===Libraries===
* [[SLIB Portable Scheme Library]] - Portable version of Scheme in a library form - Open Source
* [[SLIB Portable Scheme Library]] - Portable version of Scheme in a library form


===Snippets===
===Snippets===
Line 29: Line 29:


==DOS Implementations==
==DOS Implementations==
*Texas Instruments PC SCHEME - Commercial
*Texas Instruments [[PC Scheme]]


==Publications==
==Publications==

Revision as of 14:53, 28 March 2020

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.

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.

The only formal standard for Scheme, largely ignored.
Note, this standard is quite incompatible with Revised(5) in places and therefore not widely used.

OS/2 Implementations

Libraries

Snippets

DOS Implementations

Publications

  • Nils M. Holm: Sketchy LISP - 2009 - Public domain Scheme tutorial
  • Abelson, Sussman: Structure and Interpretation of Computer Programs - McGraw-Hill, 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, ISBN 0-262-19288-8

Links

Tutorials