commit 29b9a0af737069a88a225e822b9da04df3905360
parent 73b37f44637eace76bcf0e81d49aa5fe71e2282d
Author: Wolfgang Corcoran-Mathe <wcm@sigwinch.xyz>
Date: Wed, 7 Feb 2024 15:07:41 -0500
Basic concepts: Indexing.
Diffstat:
1 file changed, 21 insertions(+), 0 deletions(-)
diff --git a/doc/r7rs-small/basic-concepts.texinfo b/doc/r7rs-small/basic-concepts.texinfo
@@ -13,6 +13,14 @@
@node Variables syntactic keywords and regions
@section Variables, syntactic keywords, and regions
+@cindex identifier
+@cindex syntactic keyword
+@cindex variable
+@cindex binding
+@cindex binding construct
+@cindex bound
+@cindex global environment
+
An identifier can name either a type of syntax or a location where
a value can be stored. An identifier that names a type of syntax is
called a @dfn{syntactic keyword} and is said to be @dfn{bound} to
@@ -55,6 +63,11 @@ it is said to be @dfn{unbound}.
@node Disjointness of types
@section Disjointness of types
+@cindex type
+@cindex empty list
+@cindex true
+@cindex false
+
No object satisfies more than one of the following predicates:
@c Yes, this is a table in the PDF, but it's semantically a list.
@@ -158,6 +171,11 @@ objects in the appropriate sections of @ref{Standard procedures}.
@node Storage model
@section Storage model
+@cindex location
+@cindex mutable
+@cindex immutable
+@cindex constant
+
Variables and objects such as pairs, strings, vectors, and bytevectors
implicitly denote locations or sequences of locations. A string,
for example, denotes as many locations as there are characters in the
@@ -208,6 +226,9 @@ immutable objects.
@node Proper tail recursion
@section Proper tail recursion
+@cindex proper tail recursion
+@cindex tail call
+
Implementations of Scheme are required to be @dfn{properly
tail-recursive}. Procedure calls that occur in certain syntactic
contexts defined below are @dfn{tail calls}. A Scheme implementation