spec: note jolt's unknown-alias behavior; corpus rows for the reader/edn fixes

The EBNF and reader S7 already specified ::kw auto-resolution — the
implementation was out of spec, now aligned. S7 noted unknown ::alias/k MUST be a
read error; jolt is lenient (reads :alias/k), so record that as a deviation.
Corpus gains JVM-certified rows for ::kw resolution, clojure.edn :default
receiving a symbol tag, and with-meta on a lazy seq.
This commit is contained in:
Yogthos 2026-06-24 09:33:45 -04:00
parent 289e41943e
commit 54a72498ce
2 changed files with 5 additions and 2 deletions

View file

@ -59,8 +59,9 @@ keyword := ':' name | ':' ns '/' name | '::' name | '::' alias '/' name
. $ & %` (with `%` and `&` further constrained inside `#()`); a symbol
MUST NOT begin with a digit; `.` and `/` have positional restrictions.
- S7. `::kw` MUST resolve to the current namespace at *read* time
(`::k` in ns `user` reads as `:user/k`); `::alias/k` resolves the alias or
MUST be a read error if the alias does not exist.
(`::k` in ns `user` reads as `:user/k`); `::alias/k` resolves `alias` through
the current namespace's aliases. (Clojure raises a read error for an unknown
alias; jolt reads it as `:alias/k`.)
### Strings and characters