The reader accepts a pinned UTF-8 S-expression grammar and reports deterministic reader-phase diagnostics before normalization.
At a glance
LISPEX
'(alpha 1 2/3 #u8(4 5))Result
OUTPUT
(alpha 1 2/3 #u8(4 5))Current guarantees
- Integer, rational, and real token grammars are disjoint; leading-zero and non-finite numeric spellings are rejected.
- Lists, dotted pairs, vectors, bytevectors, strings, characters, quote, quasiquote, and comments have pinned forms.
- Reader failures are E1xx diagnostics with source spans; invalid UTF-8 is rejected at the invocation boundary.
Boundaries
- Radix and exactness prefixes such as
#xand#eare outside the current profile. - The language does not silently normalize newlines, paths, or host encodings.