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 datums and datum values
1.11 Libraries
1.12 Top-level programs
2 Numbers
2.1 Numerical types
2.2 Exactness
2.3 Fixnums and flonums
2.4 Implementation restrictions
2.5 Infinities and NaNs
2.6 Distinguished -0.0
3 Lexical syntax and read syntax
3.1 Notation
3.2 Lexical syntax
3.2.1 Formal account
3.2.2 Line endings
3.2.3 Whitespace and comments
3.2.4 Identifiers
3.2.5 Booleans
3.2.6 Characters
3.2.7 Strings
3.2.8 Numbers
3.3 Read syntax
3.3.1 Formal account
3.3.2 Pairs and lists
3.3.3 Vectors
3.3.4 Bytevectors
3.3.5 Abbreviations
4 Semantic concepts
4.1 Programs and libraries
4.2 Variables, keywords, and regions
4.3 Exceptional situations
4.4 Argument and subform checking
4.5 Safety
4.6 Boolean values
4.7 Multiple return values
4.8 Storage model
4.9 Proper tail recursion
4.10 Dynamic environment
5 Notation and terminology
5.1 Requirement levels
5.2 Entry format
5.2.1 Syntax entries
5.2.2 Procedure entries
5.2.3 Other kinds of entries
5.2.4 Equivalent entries
5.3 Evaluation examples
5.4 Unspecified behavior
5.5 Exceptional situations
5.6 Naming conventions
5.7 Syntax violations
6 Libraries
6.1 Library form
6.2 Import and export levels
6.3 Primitive syntax
6.3.1 Primitive expression types
6.3.2 Macros
6.4 Examples
7 Top-level programs
7.1 Top-level program syntax
7.2 Top-level program semantics
9 Base library
9.1 Exported identifiers
9.2 Base types
9.3 Definitions
9.3.1 Variable definitions
9.3.2 Syntax definitions
9.4 Bodies and sequences
9.5 Expressions
9.5.1 Quotation
9.5.2 Procedures
9.5.3 Conditionals
9.5.4 Assignments
9.5.5 Derived conditionals
9.5.6 Binding constructs
9.5.7 Sequencing
9.6 Equivalence predicates
9.7 Procedure predicate
9.8 Generic arithmetic
9.8.1 Propagation of exactness and inexactness
9.8.2 Representability of infinities and NaNs
9.8.3 Semantics of common operations
9.8.3.1 Integer division
9.8.3.2 Transcendental functions
9.8.4 Numerical operations
9.8.4.1 Numerical type predicates
9.8.4.2 Generic conversions
9.8.4.3 Arithmetic operations
9.8.4.4 Numerical Input and Output
9.9 Booleans
9.10 Pairs and lists
9.11 Symbols
9.12 Characters
9.13 Strings
9.14 Vectors
9.15 Errors and violations
9.16 Control features
9.17 Iteration
9.18 Quasiquotation
9.19 Binding constructs for syntactic keywords
9.20 Macro transformers
9.21 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