5 Flags and Properties

Most of tags here are probably not much use to end-users, but I am noting them as a matter of completeness.

If a name is flagged as ttfamily lose then a subsequent attempt to define or redefine it will be ignored.
s!:ppchar and s!:ppformat
These are used in the prettyprint code found in extras.red. A name is given a property s!:ppformat if in prettyprinted display its first few arguments should appear on the same line as it if at all possible. The s!:ppchar property is used to make the display of bracket characters a little more tidy in the source code.
In the Reduce parser some names are “switches”, and then directives such as on xxx and off xx have the effect of setting or clearing the value of a variable !*xxx. This is managed by setting the switch flag om xxx. CSL sets some things as switches ready for when they may be used by the Reduce parser.
CSL does not have a clear representation for functions that is separated from the representation of an identifier, and so when you ask to get the value of a raw function you get an identifier (probably a gensym) and this tag is used to link such values with the symbols they were originally extracted from.

Services provided by