(standards.scheme.org) Scheme Standards (Early)

ROAM_REFS: https://standards.scheme.org/early/

** Early standards

The first three reports on Scheme were published as research memos by the MIT Artificial Intelligence Laboratory (now CSAIL), the birthplace of both Lisp and Scheme.

These early reports are written in an informal tone with improvised typesetting. The language definition is not as rigorous or comprehensive as in the later reports. The language is still seeking its form. These versions of Scheme are incompatible with modern Scheme and with each other. No release of any Scheme implementation since about 1990 is based on them.

* Retroactive naming convention

Modern Scheme reports are named Revisedn Report on the Algorithmic Language Scheme, abbreviated RnRS. The first standard explicitly named thus was R3RS. The names of the earlier reports have been retroactively abbreviated using the same pattern: R2RS and R1RS. As a mathematical pun, the initial report is dubbed R0RS since it isn't revised at all.

** The three early reports

* Scheme: An Interpreter for Extended Lambda Calculus (1975)

Abbreviated R0RS

AI Memo No. 349

PDF

* Revised Report on Scheme (1978)

Abbreviated R1RS

AI Memo No. 452

PDF

* Revised Revised Report on Scheme (1985)

Abbreviated R2RS

AI Memo No. 848

People from Indiana University contributed to the design of the language.

PDF

The abstract of the paper was written as a poem:

Data and procedures and the values they amass,
Higher-order functions to combine and mix and match,
Objects with their local state, the messages they pass,
A property, a package, the control point for a catch ---
In the Lambda Order they are all first-class.
One Thing to name them all, One Thing to define them,
One Thing to place them in environments and bind them,
In the Lambda Order they are all first-class.


About

standards.scheme.org

(standards.scheme.org) r4rs.dvi - r4rs.pdf   mime_type_application_pdf

ROAM_REFS: https://standards.scheme.org/official/r4rs.pdf
  • Revised4 Report on the Algorithmic Language Scheme

William Clinger and Jonathan Rees (Editors)

H. Abelson, R. K. Dybvig, C. T. Haynes, G. J. Rozas, N. I. Adams iv, D. P. Friedman, E. Kohlbecker, G. L. Steele Jr., D. H. Bartley, R. Halstead, D. Oxley, G. J. Sussman, G. Brooks, C. Hanson, K. M. Pitman, and M. Wand

Dedicated to the Memory of ALGOL 60

2 November 1991

** Summary

The report gives a defining description of the programming language Scheme. Scheme is a statically scoped and properly tail-recursive dialect of the Lisp programming language invented by Guy Lewis Steele Jr. and Gerald Jay Sussman. It was designed to have an exceptionally clear and simple semantics and few different ways to form expressions. A wide variety of programming paradigms, including imperative, functional, and message passing styles, find convenient expression in Scheme.

The introduction offers a brief history of the language and of the report.

The first three chapters present the fundamental ideas of the language and describe the notational conventions used for describing the language and for writing programs in the language.

Chapters 4 and 5 describe the syntax and semantics of expressions, programs, and definitions.

Chapter 6 describes Scheme's built-in procedures, which include all of the language's data manipulation and input/output primitives.

Chapter 7 provides a formal syntax for Scheme written in extended BNF, along with a formal denotational semantics. An example of the use of the language follows the formal syntax and semantics.

The appendix describes a macro facility that may be used to extend the syntax of Scheme.

The report concludes with a bibliography and an alphabetic index.

Local Graph

org-roam 2e1a4710-e5f5-4c82-af3c-0ec21a2a32a3 (standards.scheme.org) Scheme Standar... //www.csail.mit.edu/ https://www.csail.mit.edu/ 2e1a4710-e5f5-4c82-af3c-0ec21a2a32a3->//www.csail.mit.edu/ //standards.scheme.org/#r3rs https://standards.scheme.org/#r3rs 2e1a4710-e5f5-4c82-af3c-0ec21a2a32a3->//standards.scheme.org/#r3rs //en.wikipedia.org/wiki/Exponentiation#Zero_exponent https://en.wikipedia.org/wiki/Exponentiation#Zero_exponent 2e1a4710-e5f5-4c82-af3c-0ec21a2a32a3->//en.wikipedia.org/wiki/Exponentiation#Zero_exponent //standards.scheme.org/official/r0rs.pdf https://standards.scheme.org/official/r0rs.pdf 2e1a4710-e5f5-4c82-af3c-0ec21a2a32a3->//standards.scheme.org/official/r0rs.pdf //standards.scheme.org/official/r1rs.pdf https://standards.scheme.org/official/r1rs.pdf 2e1a4710-e5f5-4c82-af3c-0ec21a2a32a3->//standards.scheme.org/official/r1rs.pdf //standards.scheme.org/official/r2rs.pdf https://standards.scheme.org/official/r2rs.pdf 2e1a4710-e5f5-4c82-af3c-0ec21a2a32a3->//standards.scheme.org/official/r2rs.pdf //standards.scheme.org/early/about/ https://standards.scheme.org/early/about/ 2e1a4710-e5f5-4c82-af3c-0ec21a2a32a3->//standards.scheme.org/early/about/