The M2 queue, decided item by item
This commit is contained in:
parent
01e60fa5b7
commit
5f55c177ba
19
FIX.org
19
FIX.org
@ -404,3 +404,22 @@ rename. typed-flan branch freezes the static language pre-dyn.
|
||||
- Signature pairing's cold-rebuild edge: a later type definition can silently
|
||||
re-pair an unannotated parameter vector; a changed-pairing warning between
|
||||
compiles was proposed and not yet queued.
|
||||
|
||||
* M2 queue, decided with the author 2026-09-20 — in order
|
||||
1. dyn maps + keywords (interned, O(1) equality). Retires edn/Value after.
|
||||
2. Per-type descriptors: dyn fields in structs/conditions become markable.
|
||||
3. Typed containers into dyn as VIEWS — one descriptor word in the box,
|
||||
reads box the element, writes tag-check. Rides on 2. No copies.
|
||||
4. nil: arrives with maps. nil <-> None at (Option T) boundaries, trap at
|
||||
bare T, (Some nil) unconstructible.
|
||||
5. Typed = and != grow strings: bytewise, length + same-pointer fast paths,
|
||||
both backends, one survey program. Ordering stays refused.
|
||||
6. defclass = named dyn map + shape tag; CLOS class dispatch AND
|
||||
Clojure-style arbitrary dispatch functions. After 1.
|
||||
7. dyn if: truthiness (nil/false are false, all else true). Typed stays
|
||||
strict bool.
|
||||
8. Return slot stays mandatory (dyn or ()) — the parse ambiguity it closes
|
||||
is real; revisit only if it grates.
|
||||
|
||||
All of it dispatches after the x86-dyn lane lands. The struct dyn-field
|
||||
refusal (01e60fa) is the stopgap 2 lifts.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user