Normative Rules: Symbol Case Folding
← Prev | ↑ Chapter | Next → | Index | Symbols
Normative Rules: Symbol Case Folding
Statement
The reader case-folds every unquoted symbol to upper case at read time. The case-folding applies uniformly to source text, the result of (read string), and the canonical name returned by vl-symbol-name. There is no escape syntax (such as Common Lisp's |...| or \ ) for preserving mixed case in symbol names.
Vendor Evidence
BricsCAD V26 / macOS direct probe section G:
'fooprintsFOO.'FoOprintsFOO.(eq 'foo 'FOO)returnsT.(vl-symbol-name 'mixed-Symbol)returns the string"MIXED-SYMBOL".(read "mixedFromRead")returns the symbolMIXEDFROMREAD.
Strict / Lax Policy
Strict in every supported dialect. The bricscad-v26 dialect's lax token mode does not relax case folding; it relaxes only token classification (e.g. lone trailing identifier characters on integers). String literals are unaffected.
Cross-references
- Compare CLHS 23.1 — CL also case-folds by default, but provides
readtable-caseand the|...|escape. - Compare R7RS 7.1.1 — Scheme is case-sensitive by default since R7RS.
Source Notes
Phase-6 BricsCAD V26 / macOS semantics probe section G.