\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 {subsection}{\numberline {1.3.5}Naming conventions}{4}
\contentsline {chapter}{\numberline {2}Lexical conventions}{5}
\contentsline {section}{\numberline {2.1}Identifiers}{5}
\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}{7}
\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}{8}
\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}{9}
\contentsline {section}{\numberline {4.2}Derived expression types}{9}
\contentsline {subsection}{\numberline {4.2.1}Conditionals}{9}
\contentsline {subsection}{\numberline {4.2.2}Binding constructs}{10}
\contentsline {subsection}{\numberline {4.2.3}Sequencing}{10}
\contentsline {subsection}{\numberline {4.2.4}Iteration}{11}
\contentsline {subsection}{\numberline {4.2.5}Delayed evaluation}{11}
\contentsline {subsection}{\numberline {4.2.6}Quasiquotation}{11}
\contentsline {chapter}{\numberline {5}Program structure}{12}
\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}{13}
\contentsline {chapter}{\numberline {6}Standard procedures}{13}
\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}{18}
\contentsline {section}{\numberline {6.5}Numbers}{18}
\contentsline {subsection}{\numberline {6.5.1}Numerical types}{19}
\contentsline {subsection}{\numberline {6.5.2}Exactness}{19}
\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}{24}
\contentsline {section}{\numberline {6.7}Strings}{25}
\contentsline {section}{\numberline {6.8}Vectors}{26}
\contentsline {section}{\numberline {6.9}Control features}{27}
\contentsline {section}{\numberline {6.10}Input and output}{29}
\contentsline {subsection}{\numberline {6.10.1}Ports}{29}
\contentsline {subsection}{\numberline {6.10.2}Input}{30}
\contentsline {subsection}{\numberline {6.10.3}Output}{31}
\contentsline {subsection}{\numberline {6.10.4}System interface}{31}
\contentsline {chapter}{\numberline {7}Formal syntax and semantics}{32}
\contentsline {section}{\numberline {7.1}Formal syntax}{32}
\contentsline {subsection}{\numberline {7.1.1}Lexical structure}{32}
\contentsline {subsection}{\numberline {7.1.2}External representations}{33}
\contentsline {subsection}{\numberline {7.1.3}Expressions}{33}
\contentsline {subsection}{\numberline {7.1.4}Quasiquotations}{33}
\contentsline {subsection}{\numberline {7.1.5}Programs and definitions}{34}
\contentsline {section}{\numberline {7.2}Formal semantics}{34}
\contentsline {subsection}{\numberline {7.2.1}Abstract syntax}{34}
\contentsline {subsection}{\numberline {7.2.2}Domain equations}{34}
\contentsline {subsection}{\numberline {7.2.3}Semantic functions}{34}
\contentsline {subsection}{\numberline {7.2.4}Auxiliary functions}{35}
\contentsline {section}{\numberline {7.3}Derived expression types}{36}
\contentsline {chapter}{Notes}{38}
\contentsline {chapter}{Example}{39}
\contentsline {chapter}{Appendix: Macros}{40}
\contentsline {chapter}{Bibliography and references}{47}
\contentsline {chapter}{Alphabetic index of definitions of concepts,\hfil \penalty 0 \hbox {\phspace *{2em} keywords, and procedures}}{52}
