| Higher-Order and Symbolic Computation
11 (1):7-105, August 1998.
© Kluwer Academic Publishers
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
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
ISSN 1388-3690
|