1 Overview of Scheme
1.1 Basic types
Boolean values
Numbers
Characters
Strings
Symbols
Pairs and lists
Vectors
Procedures
1.2 Expressions
1.3 Variables and binding
1.4 Definitions
1.5 Forms
1.6 Procedures
1.7 Procedure calls and syntactic keywords
1.8 Assignment
1.9 Derived forms and macros
1.10 Syntactic data and datum values
1.11 Continuations
1.12 Libraries
1.13 Top-level programs
3 Numbers
3.1 Numerical tower
3.2 Exactness
3.3 Fixnums and flonums
3.4 Implementation requirements
3.5 Infinities and NaNs
3.6 Distinguished -0.0
4 Lexical syntax and datum syntax
4.1 Notation
4.2 Lexical syntax
4.2.1 Formal account
4.2.2 Line endings
4.2.3 Whitespace and comments
4.2.4 Identifiers
4.2.5 Booleans
4.2.6 Characters
4.2.7 Strings
4.2.8 Numbers
4.3 Datum syntax
4.3.1 Formal account
4.3.2 Pairs and lists
4.3.3 Vectors
4.3.4 Bytevectors
4.3.5 Abbreviations
5 Semantic concepts
5.1 Programs and libraries
5.2 Variables, keywords, and regions
5.3 Exceptional situations
5.4 Argument checking
5.5 Syntax violations
5.6 Safety
5.7 Boolean values
5.8 Multiple return values
5.9 Unspecified behavior
5.10 Storage model
5.11 Proper tail recursion
5.12 Dynamic extent and dynamic environment
6 Entry format
6.1 Syntax entries
6.2 Procedure entries
6.3 Implementation responsibilities
6.4 Other kinds of entries
6.5 Equivalent entries
6.6 Evaluation examples
6.7 Naming conventions
7 Libraries
7.1 Library form
7.2 Import and export levels
7.3 Examples
8 Top-level programs
8.1 Top-level program syntax
8.2 Top-level program semantics
9 Primitive syntax
9.1 Primitive expression types
9.2 Macros
11 Base library
11.1 Base types
11.2 Definitions
11.2.1 Variable definitions
11.2.2 Syntax definitions
11.3 Bodies and sequences
11.4 Expressions
11.4.1 Quotation
11.4.2 Procedures
11.4.3 Conditionals
11.4.4 Assignments
11.4.5 Derived conditionals
11.4.6 Binding constructs
11.4.7 Sequencing
11.5 Equivalence predicates
11.6 Procedure predicate
11.7 Arithmetic
11.7.1 Propagation of exactness and inexactness
11.7.2 Representability of infinities and NaNs
11.7.3 Semantics of common operations
11.7.3.1 Integer division
11.7.3.2 Transcendental functions
11.7.4 Numerical operations
11.7.4.1 Numerical type predicates
11.7.4.2 Generic conversions
11.7.4.3 Arithmetic operations
11.7.4.4 Numerical Input and Output
11.8 Booleans
11.9 Pairs and lists
11.10 Symbols
11.11 Characters
11.12 Strings
11.13 Vectors
11.14 Errors and violations
11.15 Control features
11.16 Iteration
11.17 Quasiquotation
11.18 Binding constructs for syntactic keywords
11.19 Macro transformers
11.20 Tail calls and tail contexts
A Formal semantics
A.1 Background
A.2 Grammar
A.3 Quote
A.4 Multiple values
A.5 Exceptions
A.6 Arithmetic and basic forms
A.7 Lists
A.8 Eqv
A.9 Procedures and application
A.10 Call/cc and dynamic wind
A.11 Letrec
A.12 Underspecification
B Sample definitions for derived forms
Alphabetic index of definitions of
concepts, keywords, and procedures