r7rs-small-texinfo

Unnamed repository; edit this file 'description' to name the repository.
git clone https://kaka.farm/~git/r7rs-small-texinfo
Log | Files | Refs

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:
Mdoc/r7rs-small/basic-concepts.texinfo | 20++++++++++----------
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