For example, a syntactic form box is labeled with "SYNTAX". Forms
such as `defform' and `defthing' now support a `#:kind' option
for setting the label.
Rename `read-intern-literal' to `datum-intern-literal'.
Interning is needed only in `read-syntax' or `datum->syntax' to
set up the invariants that the bytecode compiler needs for cross-module
optimization. When `read'ing numbers from a data file, meanwhile,
interning slows things down a lot and doesn't seem worthwhile.
This change saves a small amount of space in cross-reference files
and some space in loaded cross-reference information.
It also saves work converting strings to mutable on deserialize,
although the performance difference seems negligible.
In @defform*[#:id x1 [(qqq x1)]], for example, `#:id x1' needs to
calcel the default treatment of `x1' within `(qqq x1)' as
a metavariable, while treating `qqq' as a meta-variable.
For example, if you make a multi-column table with a
`racketblock' in each column, then the columns size
to fit the code --- instead of forcing the table width
to match the page width and forcing each column to take
an equal share width.
For HTML, the style used in the output of `racketblock' now
disables line wrapping, and the Rkt text styles inherit
line-wrap behavior. This doesn't solve the general problem
of code overflowing the horizontal space, but it makes the
failure mode usefully better.
A new 'vertical-inset nested-flow style is used by
`defproc', `defform', etc. It has no effect for HTML,
but it introduces suitable vertical space for Latex output
(in case you want to use `defproc' in a SIGPLAN-format
paper, for example).