\contentsline {chapter}{Introduction}{2}
\contentsline {chapter}{\numberline {1}Overview of Scheme}{3}
\contentsline {section}{\numberline {1.1}Semantics}{3}
\contentsline {section}{\numberline {1.2}Syntax}{3}
\contentsline {section}{\numberline {1.3}Notation and terminology}{3}
\contentsline {subsection}{\numberline {1.3.1}Essential and non-essential features}{3}
\contentsline {subsection}{\numberline {1.3.2}Error situations and unspecified behavior}{3}
\contentsline {subsection}{\numberline {1.3.3}Entry format}{4}
\contentsline {subsection}{\numberline {1.3.4}Evaluation examples}{4}
\contentsline {chapter}{\numberline {2}Lexical conventions}{4}
\contentsline {section}{\numberline {2.1}Identifiers}{4}
\contentsline {section}{\numberline {2.2}Whitespace and comments}{5}
\contentsline {section}{\numberline {2.3}Other notations}{5}
\contentsline {chapter}{\numberline {3}Basic concepts}{6}
\contentsline {section}{\numberline {3.1}Variables and regions}{6}
\contentsline {section}{\numberline {3.2}True and false}{6}
\contentsline {section}{\numberline {3.3}External representations}{6}
\contentsline {section}{\numberline {3.4}Disjointness of types}{6}
\contentsline {section}{\numberline {3.5}Storage model}{7}
\contentsline {chapter}{\numberline {4}Expressions}{7}
\contentsline {section}{\numberline {4.1}Primitive expression types}{7}
\contentsline {subsection}{\numberline {4.1.1}Variable references}{7}
\contentsline {subsection}{\numberline {4.1.2}Literal expressions}{7}
\contentsline {subsection}{\numberline {4.1.3}Procedure calls}{7}
\contentsline {subsection}{\numberline {4.1.4}Lambda expression{}s}{8}
\contentsline {subsection}{\numberline {4.1.5}Conditionals}{8}
\contentsline {subsection}{\numberline {4.1.6}Assignments}{8}
\contentsline {section}{\numberline {4.2}Derived expression types}{8}
\contentsline {subsection}{\numberline {4.2.1}Conditionals}{8}
\contentsline {subsection}{\numberline {4.2.2}Binding constructs}{9}
\contentsline {subsection}{\numberline {4.2.3}Sequencing}{10}
\contentsline {subsection}{\numberline {4.2.4}Iteration}{10}
\contentsline {subsection}{\numberline {4.2.5}Delayed evaluation}{11}
\contentsline {subsection}{\numberline {4.2.6}Quasiquotation}{11}
\contentsline {chapter}{\numberline {5}Program structure}{11}
\contentsline {section}{\numberline {5.1}Programs}{12}
\contentsline {section}{\numberline {5.2}Definitions}{12}
\contentsline {subsection}{\numberline {5.2.1}Top level definitions}{12}
\contentsline {subsection}{\numberline {5.2.2}Internal definitions}{12}
\contentsline {chapter}{\numberline {6}Standard procedures}{12}
\contentsline {section}{\numberline {6.1}Booleans}{13}
\contentsline {section}{\numberline {6.2}Equivalence predicates}{13}
\contentsline {section}{\numberline {6.3}Pairs and lists}{15}
\contentsline {section}{\numberline {6.4}Symbols}{17}
\contentsline {section}{\numberline {6.5}Numbers}{18}
\contentsline {subsection}{\numberline {6.5.1}Numerical types}{18}
\contentsline {subsection}{\numberline {6.5.2}Exactness}{18}
\contentsline {subsection}{\numberline {6.5.3}Implementation restrictions}{19}
\contentsline {subsection}{\numberline {6.5.4}Syntax of numerical constants}{20}
\contentsline {subsection}{\numberline {6.5.5}Numerical operations}{20}
\contentsline {subsection}{\numberline {6.5.6}Numerical input and output}{23}
\contentsline {section}{\numberline {6.6}Characters}{23}
\contentsline {section}{\numberline {6.7}Strings}{24}
\contentsline {section}{\numberline {6.8}Vectors}{25}
\contentsline {section}{\numberline {6.9}Control features}{26}
\contentsline {section}{\numberline {6.10}Input and output}{28}
\contentsline {subsection}{\numberline {6.10.1}Ports}{28}
\contentsline {subsection}{\numberline {6.10.2}Input}{29}
\contentsline {subsection}{\numberline {6.10.3}Output}{29}
\contentsline {subsection}{\numberline {6.10.4}System interface}{30}
\contentsline {chapter}{\numberline {7}Formal syntax and semantics}{31}
\contentsline {section}{\numberline {7.1}Formal syntax}{31}
\contentsline {subsection}{\numberline {7.1.1}Lexical structure}{31}
\contentsline {subsection}{\numberline {7.1.2}External representations}{32}
\contentsline {subsection}{\numberline {7.1.3}Expressions}{32}
\contentsline {subsection}{\numberline {7.1.4}Quasiquotations}{32}
\contentsline {subsection}{\numberline {7.1.5}Programs and definitions}{33}
\contentsline {section}{\numberline {7.2}Formal semantics}{33}
\contentsline {subsection}{\numberline {7.2.1}Abstract syntax}{33}
\contentsline {subsection}{\numberline {7.2.2}Domain equations}{33}
\contentsline {subsection}{\numberline {7.2.3}Semantic functions}{33}
\contentsline {subsection}{\numberline {7.2.4}Auxiliary functions}{34}
\contentsline {section}{\numberline {7.3}Derived expression types}{35}
\contentsline {chapter}{Notes}{37}
\contentsline {chapter}{Example}{38}
\contentsline {chapter}{Bibliography and references}{39}
\contentsline {chapter}{Alphabetic index of definitions of concepts,\hfil \penalty 0 \hbox {\phspace *{2em} keywords, and procedures}}{42}
