Contents
Introduction
1 Overview of Scheme
2 Lexical conventions
3 Basic concepts
4 Expressions
5 Program structure
6 Standard procedures
7 Formal syntax and semantics
Alphabetic Index of Definitions of Concepts,
Keywords, and Procedures
Background
Acknowledgements
1.1 Semantics
1.2 Syntax
1.3 Notation and terminology
1.3.1 Primitive, library, and optional features
1.3.2 Error situations and unspecified behavior
1.3.3 Entry format
1.3.4 Evaluation examples
1.3.5 Naming conventions
2.1 Identifiers
2.2 Whitespace and comments
2.3 Other notations
3.1 Variables, syntactic keywords, and regions
3.2 Disjointness of types
3.3 External representations
3.4 Storage model
3.5 Proper tail recursion
4.1 Primitive expression types
4.1.1 Variable references
4.1.2 Literal expressions
4.1.3 Procedure calls
4.1.4 Procedures
4.1.5 Conditionals
4.1.6 Assignments
4.2 Derived expression types
4.2.1 Conditionals
4.2.2 Binding constructs
4.2.3 Sequencing
4.2.4 Iteration
4.2.5 Delayed evaluation
4.2.6 Quasiquotation
4.3 Macros
4.3.1 Binding constructs for syntactic keywords
4.3.2 Pattern language
5.1 Programs
5.2 Definitions
5.2.1 Top level definitions
5.2.2 Internal definitions
5.3 Syntax definitions
6.1 Equivalence predicates
6.2 Numbers
6.2.1 Numerical types
6.2.2 Exactness
6.2.3 Implementation restrictions
6.2.4 Syntax of numerical constants
6.2.5 Numerical operations
6.2.6 Numerical input and output
6.3 Other data types
6.3.1 Booleans
6.3.2 Pairs and lists
6.3.3 Symbols
6.3.4 Characters
6.3.5 Strings
6.3.6 Vectors
6.4 Control features
6.5 Eval
6.6 Input and output
6.6.1 Ports
6.6.2 Input
6.6.3 Output
6.6.4 System interface
7.1 Formal syntax
7.1.1 Lexical structure
7.1.2 External representations
7.1.3 Expressions
7.1.4 Quasiquotations
7.1.5 Transformers
7.1.6 Programs and definitions
7.2 Formal semantics
7.2.1 Abstract syntax
7.2.2 Domain equations
7.2.3 Semantic functions
7.2.4 Auxiliary functions
7.3 Derived expression types