diff --git a/collects/scribblings/guide/binding.scrbl b/collects/scribblings/guide/binding.scrbl index f830feb56f..66d6cd4ca9 100644 --- a/collects/scribblings/guide/binding.scrbl +++ b/collects/scribblings/guide/binding.scrbl @@ -17,7 +17,7 @@ procedure that creates a pair, @scheme[car] refers to the procedure that extracts the first element of a pair, and so on. @margin-note{For information on the syntax of identifiers, see -@secref["symbols"].} +@secref["guide:symbols"].} Forms like @scheme[define], @scheme[lambda], and @scheme[let] associate a meaning with one or more identifiers; that is, they diff --git a/collects/scribblings/guide/byte-strings.scrbl b/collects/scribblings/guide/byte-strings.scrbl index f658ff29c9..bb27533431 100644 --- a/collects/scribblings/guide/byte-strings.scrbl +++ b/collects/scribblings/guide/byte-strings.scrbl @@ -3,7 +3,7 @@ @require[(lib "eval.ss" "scribble")] @require["guide-utils.ss"] -@title[#:tag "bytes"]{Bytes and Byte Strings} +@title[#:tag "guide:bytestrings"]{Bytes and Byte Strings} A @defterm{byte} is an inexact integer between @scheme[0] and @scheme[255], inclusive. The @scheme[byte?] predicate recognizes @@ -15,11 +15,11 @@ numbers that represent bytes. ] A @defterm{byte string} is similar to a string---see -@secref["strings"]---but its content is a sequence of bytes instead of -characters. Byte strings can be used in applications that process pure -ASCII instead of Unicode text. The printed and form of a byte string -supports such uses in particular, because a byte string prints like -the ASCII decoding of the byte string, but prefixed with a +@secref["guide:strings"]---but its content is a sequence of bytes +instead of characters. Byte strings can be used in applications that +process pure ASCII instead of Unicode text. The printed and form of a +byte string supports such uses in particular, because a byte string +prints like the ASCII decoding of the byte string, but prefixed with a @schemefont{#}. Unprintable ASCII characters or non-ASCII bytes in the byte string are written with octal notation. diff --git a/collects/scribblings/guide/char-strings.scrbl b/collects/scribblings/guide/char-strings.scrbl index 7569366bab..0227ae1d37 100644 --- a/collects/scribblings/guide/char-strings.scrbl +++ b/collects/scribblings/guide/char-strings.scrbl @@ -3,10 +3,10 @@ @require[(lib "eval.ss" "scribble")] @require["guide-utils.ss"] -@title[#:tag "strings"]{Strings (Unicode)} +@title[#:tag "guide:strings"]{Strings (Unicode)} A @defterm{string} is a fixed-length array of -@seclink["characters"]{characters}. It prints using doublequotes, +@seclink["guide:characters"]{characters}. It prints using doublequotes, where doublequote and backslash characters within the string are escaped with backslashes. Other common string escapes are supported, incluing @schemefont["\\n"] for a linefeed, @schemefont["\\r"] for a @@ -65,7 +65,7 @@ for an end user. ] For working with plain ASCII, working with raw bytes, or -encoding/decoding Unicode strings as bytes, use @seclink["bytes"]{byte -strings}. +encoding/decoding Unicode strings as bytes, use +@seclink["guide:bytestrings"]{byte strings}. @refdetails["mz:strings"]{strings and string procedures} diff --git a/collects/scribblings/guide/chars.scrbl b/collects/scribblings/guide/chars.scrbl index ed887344f4..50678f12e2 100644 --- a/collects/scribblings/guide/chars.scrbl +++ b/collects/scribblings/guide/chars.scrbl @@ -3,7 +3,7 @@ @require[(lib "eval.ss" "scribble")] @require["guide-utils.ss"] -@title[#:tag "characters"]{Characters} +@title[#:tag "guide:characters"]{Characters} A Scheme @defterm{character} corresponds to a Unicode @defterm{scalar value}. Roughly, a scalar value is an unsigned integer whose diff --git a/collects/scribblings/guide/numbers.scrbl b/collects/scribblings/guide/numbers.scrbl index ca64be406b..2ac728c45a 100644 --- a/collects/scribblings/guide/numbers.scrbl +++ b/collects/scribblings/guide/numbers.scrbl @@ -3,7 +3,7 @@ @require[(lib "eval.ss" "scribble")] @require["guide-utils.ss"] -@title{Numbers} +@title[#:tag "guide:numbers"]{Numbers} A Scheme @defterm{number} is either exact or inexact: diff --git a/collects/scribblings/guide/symbols.scrbl b/collects/scribblings/guide/symbols.scrbl index 78841aeabf..a3d6b51939 100644 --- a/collects/scribblings/guide/symbols.scrbl +++ b/collects/scribblings/guide/symbols.scrbl @@ -3,7 +3,7 @@ @require[(lib "eval.ss" "scribble")] @require["guide-utils.ss"] -@title[#:tag "symbols"]{Symbols} +@title[#:tag "guide:symbols"]{Symbols} A @defterm{symbol} is an atomic value that prints like an identifier. An expression that starts with @litchar{'} and continues with an diff --git a/collects/scribblings/reference/bytes.scrbl b/collects/scribblings/reference/bytes.scrbl index 9aa39483b1..2dda82a72e 100644 --- a/collects/scribblings/reference/bytes.scrbl +++ b/collects/scribblings/reference/bytes.scrbl @@ -3,6 +3,8 @@ @title[#:tag "mz:bytestrings"]{Byte Strings} +@guideintro["guide:bytestrings"]{byte strings} + A @pidefterm{byte string} is a fixed-length arary of bytes. A @pidefterm{byte} is an exact integer between @scheme[0] and @scheme[255] inclusive. diff --git a/collects/scribblings/reference/chars.scrbl b/collects/scribblings/reference/chars.scrbl index 03e08958e9..0ee49a609e 100644 --- a/collects/scribblings/reference/chars.scrbl +++ b/collects/scribblings/reference/chars.scrbl @@ -3,5 +3,7 @@ @title[#:tag "mz:characters"]{Characters} +@guideintro["guide:characters"]{characters} + A @pidefterm{character} corresponds to a Unicode scalar value (i.e., a Unicode code point that is not a surrogate). diff --git a/collects/scribblings/reference/data.scrbl b/collects/scribblings/reference/data.scrbl index b725d52dfa..1cf901d834 100644 --- a/collects/scribblings/reference/data.scrbl +++ b/collects/scribblings/reference/data.scrbl @@ -36,6 +36,8 @@ is @scheme[#t] or @scheme[#f], @scheme[#f] otherwise.} @; ------------------------------------------------------------ @section[#:tag "symbols"]{Symbols} +@guideintro["guide:symbols"]{symbols} + A symbol is like an immutable string, but symbols are normally @index["interned symbols"]{@defterm{interned}}, so that two symbols with the same character content are normally @scheme[eq?]. All symbols diff --git a/collects/scribblings/reference/numbers.scrbl b/collects/scribblings/reference/numbers.scrbl index 33892b86fe..0edb55664e 100644 --- a/collects/scribblings/reference/numbers.scrbl +++ b/collects/scribblings/reference/numbers.scrbl @@ -3,6 +3,8 @@ @title[#:tag "mz:numbers"]{Numbers} +@guideintro["guide:numbers"]{numbers} + All numbers are @idefterm{complex numbers}. Some of them are @idefterm{real numbers}, and all of the real numbers that can be represented are also @idefterm{rational numbers}. Among the real diff --git a/collects/scribblings/reference/read.scrbl b/collects/scribblings/reference/read.scrbl index 90240479fe..01ab0da6a7 100644 --- a/collects/scribblings/reference/read.scrbl +++ b/collects/scribblings/reference/read.scrbl @@ -155,6 +155,8 @@ on the next character or characters in the input stream as follows: @section[#:tag "mz:parse-symbol"]{Reading Symbols} +@guideintro["guide:symbols"]{the syntax of symbols} + A sequence that does not start with a delimiter or @litchar{#} is parsed as either a symbol or a number (see @secref["mz:parse-number"]), except that @litchar{.} by itself is never parsed as a symbol or @@ -185,6 +187,8 @@ the following datum in case-sensitive mode. @section[#:tag "mz:parse-number"]{Reading Numbers} +@guideintro["guide:numbers"]{the syntax of numbers} + @index['("numbers" "parsing")]{A} sequence that does not start with a delimiter is parsed as a number when it matches the following grammar case-insenstively for @nonterm{number@sub{10}} (decimal), where @@ -348,6 +352,8 @@ then when then reader encounters @litchar["{"] and @litchar["}"], the @section[#:tag "mz:parse-string"]{Reading Strings} +@guideintro["guide:strings"]{the syntax of strings} + @index['("strings" "parsing")]{When} the reader encouters @as-index{@litchar{"}}, it begins parsing characters to form a string. The string continues until it is terminated by another @litchar{"} (that @@ -412,9 +418,11 @@ Within a string sequence, the following escape sequences are } -If the reader encounteres any other use of a backslashe in a string +If the reader encounteres any other use of a backslash in a string constant, the @exnraise[exn:fail:read]. +@guideintro["guide:bytestrings"]{the syntax of byte strings} + @index['("byte strings" "parsing")]{A} string constant preceded by @litchar{#} is parsed as a byte-string. (That is, @as-index{@litchar{#"}} starts a byte-string literal.) See @secref["mz:bytestrings"] for @@ -578,6 +586,8 @@ content is also wraped as a syntax object. @section[#:tag "mz:parse-character"]{Reading Characters} +@guideintro["guide:characters"]{the syntax of characters} + A @litchar["#\\"] starts a character constant, which has one of the following forms: diff --git a/collects/scribblings/reference/strings.scrbl b/collects/scribblings/reference/strings.scrbl index 245d24a22f..229bde42b9 100644 --- a/collects/scribblings/reference/strings.scrbl +++ b/collects/scribblings/reference/strings.scrbl @@ -3,6 +3,8 @@ @title[#:tag "mz:strings"]{Strings} +@guideintro["guide:string"]{strings} + A @pidefterm{string} is a fixed-length arary of @seclink["characters"]{characters}.