Next: Data Sharing in Input
Up: Support Facilities
Previous: Input Parsing
MzScheme's printer follows these non-standard rules:
- Boxes (see section 4.9) can be printed with the #& notation
(see section 14.3). When box printing is disabled, all boxes are
printed as #<box>. Box printing is controlled with the
print-box Boolean parameter (see section 9.4.1.4). Box
printing is enabled by default.
- Structures (see Chapter 5) can be printed using vector
notation. In the vector, the first item is a symbol of the form
struct:s -- where
s is the name of the structure -- and the remaining elements are
the elements of the structure. When structure printing is disabled,
structures are printed as #<struct:s>. Structure printing
is controlled with the print-struct Boolean parameter
(see section 9.4.1.4). Structure printing is disabled by default.
- Symbols containing spaces or special charaters
write using escaping backslashes and quoting vertical bars.
Symbols are quoted with vertical bars or a leading backslash when they
would otherwise print the same as a numerical constant. If the value
of the read-accept-bar-quote Boolean parameter is #f
(see section 9.4.1.3), then backslashes are always used
to escape special characters instead of quoting them with vertical
bars, and a vertical bar is not treated as a special character. See
section 14.3 for more information about symbol parsing. Symbols
display without escaping or quoting special characters.
- Characters with the special names described in
section 14.3 write using the same name.
(Some characters have multiple names; the #\newline and
#\nul names are used instead of #\linefeed and
#\null). All other charaters write as #\ followed
by the single-byte character value. All characters display as
the single-byte character value.
- S-expressions with shared stucture can be printed using
#n= and #n#, where n is
a decimal integer. See section 14.5.
Next: Data Sharing in Input
Up: Support Facilities
Previous: Input Parsing
PLT