Document why reader-conditional stays a native shim
Attempting to migrate the reader-conditional constructor to the overlay revealed that an overlay defn returning a :jolt/type-tagged map literal silently fails to bind during the seed mint: the guard around each prelude form swallows the load-time error, leaving the var unbound. This is the same reason every other tagged-value constructor (atom, volatile!, tagged-literal) is native, so reader-conditional is reclassified STAY-PRIMITIVE rather than a safe migration.
This commit is contained in:
parent
d77b4e6420
commit
1481a806b7
1 changed files with 6 additions and 2 deletions
|
|
@ -17,8 +17,12 @@
|
||||||
jolt-nil)
|
jolt-nil)
|
||||||
|
|
||||||
;; --- reader-conditional: a tagged map (reader-conditional? is an overlay
|
;; --- reader-conditional: a tagged map (reader-conditional? is an overlay
|
||||||
;; tagged-value predicate that reads :jolt/type). re-matcher / re-find / re-groups
|
;; tagged-value predicate that reads :jolt/type). STAYS NATIVE: building a
|
||||||
;; are the stateful matcher API in regex.ss.
|
;; :jolt/type-tagged map is part of the native value model — an overlay defn
|
||||||
|
;; returning {:jolt/type ...} silently fails to bind during the seed mint (the
|
||||||
|
;; guard around each prelude form swallows the load-time error), the same reason
|
||||||
|
;; every other tagged-value constructor (atom/volatile!/tagged-literal) is native.
|
||||||
|
;; re-matcher / re-find / re-groups are the stateful matcher API in regex.ss.
|
||||||
(define nr-kw-type (keyword "jolt" "type"))
|
(define nr-kw-type (keyword "jolt" "type"))
|
||||||
(define nr-kw-rc (keyword "jolt" "reader-conditional"))
|
(define nr-kw-rc (keyword "jolt" "reader-conditional"))
|
||||||
(define nr-kw-form (keyword #f "form"))
|
(define nr-kw-form (keyword #f "form"))
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue