commit 6f21bdd34dcb89ba69f55ee6ea4354357e62e513
parent c637e1f414ca5a950afbc2b5f583fa1e9736063b
Author: Wolfgang Corcoran-Mathe <wcm@sigwinch.xyz>
Date: Mon, 5 Feb 2024 15:45:57 -0500
Basic concepts: Cross-references.
Diffstat:
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/doc/r7rs-small/basic-concepts.texinfo b/doc/r7rs-small/basic-concepts.texinfo
@@ -29,13 +29,13 @@ Certain expression types are used to create new kinds of syntax and to bind
syntactic keywords to those new syntaxes, while other expression types
create new locations and bind variables to those locations. These expression
types are called @dfn{binding constructs}. Those that bind syntactic
-keywords are listed in section 4.3. The most fundamental of the variable
+keywords are listed in @ref{Macros}. The most fundamental of the variable
binding constructs is the @code{lambda} expression, because all other
variable binding constructs (except top-level bindings) can be explained in
terms of @code{lambda} expressions. The other variable binding constructs
are @code{let}, @code{let*}, @code{letrec}, @code{letrec*},
@code{let-values}, @code{let*-values}, and @code{do} expressions (see
-sections 4.1.4, 4.2.2, and 4.2.4).
+@ref{Procedures}, @ref{Binding constructs}, and @ref{Iteration}).
Scheme is a language with block structure. To each place where an identifier
is bound in a program there corresponds a @dfn{region} of the program text
@@ -46,7 +46,7 @@ the entire @code{lambda} expression. Every mention of an identifier refers
to the binding of the identifier that established the innermost of the
regions containing the use. If there is no binding of the identifier whose
region contains the use, then the use refers to the binding for the variable
-in the global environment, if any (chapters 4 and 6); if there is no binding
+in the global environment, if any (@ref{Expressions} and @ref{Standard procedures}); if there is no binding
for the identifier, it is said to be @dfn{unbound}.
@node Disjointness of types
@@ -103,8 +103,8 @@ These predicates define the types @dfn{boolean}, @dfn{bytevector},
@dfn{vector}, and all record types.
Although there is a separate boolean type, any Scheme value can be used as a
-boolean value for the purpose of a conditional test. As explained in section
-6.3, all values count as true in such a test except for @code{#f}. This
+boolean value for the purpose of a conditional test. As explained in @ref{Booleans},
+all values count as true in such a test except for @code{#f}. This
report uses the word ``true'' to refer to any Scheme value except @code{#f},
and the word ``false'' to refer to @code{#f}.
@@ -120,18 +120,18 @@ integers 8 and 13 is the sequence of characters @samp{(8 13)}.
The external representation of an object is not necessarily unique. The
integer 28 also has representations @samp{#e28.000} and @samp{#x1c}, and the
list in the previous paragraph also has the representations @samp{( 08 13 )}
-and @samp{(8 . (13 . ()))} (see section 6.4).
+and @samp{(8 . (13 . ()))} (see @ref{Pairs and lists}).
Many objects have standard external representations, but some, such as
procedures, do not have standard representations (although particular
implementations may define representations for them).
An external representation can be written in a program to obtain the
-corresponding object (see @code{quote}, section 4.1.2).
+corresponding object (see @code{quote}, @ref{Literal expressions}).
External representations can also be used for input and output. The
-procedure @code{read} (section 6.13.2) parses external representations, and
-the procedure @code{write} (section 6.13.3) generates them. Together, they
+procedure @code{read} (@ref{Input}) parses external representations, and
+the procedure @code{write} (@ref{Output}) generates them. Together, they
provide an elegant and powerful input/output facility.
Note that the sequence of characters @samp{(+ 2 6)} is @emph{not} an
@@ -148,7 +148,7 @@ treat programs as data (or vice versa).
The syntax of external representations of various kinds of objects
accompanies the description of the primitives for manipulating the objects
-in the appropriate sections of chapter 6.
+in the appropriate sections of @ref{Standard procedures}.
@node Storage model
@section Storage model