Higher-Order and Symbolic Computation, 11(1)7-105
Revised^5 Report on the Algorithmic Language Scheme
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
Abstract: 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.
Sections 5 and 6 describe the syntax and semantics of expressions,
programs, and definitions.
Section 7 describes Scheme's built-in procedures, which include all of
the language's data manipulation and input/output primitives. Section
8 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 report concludes with a list of references and an alphabetic
index and is followed by a short list of clarifications and
corrections.
Keywords: Scheme, Lisp, programming languages
|
This article can be downloaded [here]
or locally [here].
|
|