Revised7 Report on the Algorithmic Language

Scheme

ALEX SHINN, JOHN COWAN, AND ARTHUR A. GLECKLER (Editors)
STEVEN GANZ ALEXEY RADUL OLIN SHIVERS

AARON W. HSU

JEFFREY T. READ ALARIC SNELL-PYM

BRADLEY LUCIER

DAVID RUSH GERALD J. SUSSMAN

EMMANUEL MEDERNACH

BENJAMIN L. RUSSEL
RICHARD KELSEY, WILLIAM CLINGER, AND JONATHAN REES
(Editors, Revised5 Report on the Algorithmic Language Scheme)
MICHAEL SPERBER, R. KENT DYBVIG, MATTHEW FLATT, AND ANTON VAN STRAATEN
(Editors, Revised6 Report on the Algorithmic Language Scheme)

Dedicated to the memory of John McCarthy and Daniel Weinreb

December 19, 2022

 

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 [23] invented by Guy Lewis Steele Jr.​ ​and Gerald Jay Sussman. It was designed to have exceptionally clear and simple semantics and few different ways to form expressions. A wide variety of programming paradigms, including imperative, functional, and object-oriented 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, definitions, programs, and libraries.

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.

Appendix A provides a list of the standard libraries and the identifiers that they export.

Appendix B provides a list of optional but standardized implementation feature names.

The report concludes with a list of references and an alphabetic index.

Note: The editors of the R5RS​ ​and R6RS​ ​reports are listed as authors of this report in recognition of the substantial portions of this report that are copied directly from R5RS​ ​and R6RS. There is no intended implication that those editors, individually or collectively, support or do not support this report.

Last modified: Mon, Dec 19, 2022, 12:53 pm UTC+0