roadmap: effect-doc-honesty closed (shipped a29700c) — collapse stale [~] entry
This commit is contained in:
+10
-27
@@ -221,33 +221,16 @@ clean. Pick the next milestone from P2.)_
|
||||
- [ ] **\[todo\]** 21'h iteration — final 21' carry-over (latency
|
||||
methodology pass). Numbering kept for continuity with the 21' arc.
|
||||
|
||||
- [~] **\[todo\]** DESIGN.md effect-prose is fiction — standalone
|
||||
documentation-honesty tidy (split out 2026-05-16 from the rejected
|
||||
effect-op-arg-modes bundle; in flight via planner→implement). Three
|
||||
load-bearing effect-system claims in DESIGN.md are presently false
|
||||
and mislead every future brainstorm + the architect, who read
|
||||
DESIGN.md as truth: (a) DESIGN.md:172/2722 say `IO` **and**
|
||||
`Diverge` are wired-up built-in ops — `Diverge` has zero code in
|
||||
any crate (not registered, never injected, no string literal);
|
||||
reconcile to "only `IO` (`io/print_str`) is wired up; `Diverge`
|
||||
reserved/unimplemented", modelled on Decision 4's
|
||||
reserved-but-opaque refinements precedent. (b) DESIGN.md:171-172
|
||||
"the effect set is row-polymorphic (`![IO | r]`)" — no row variable
|
||||
/ `EffectRow` exists anywhere; effect sets are flat string
|
||||
collections unified by set-equality; remove the claim (a flat
|
||||
closed set is *more* locally legible — Decision 3 pillar — so this
|
||||
is honesty, not a concession; pillar-doc edit, flag at review).
|
||||
(c) `crates/ailang-core/src/ast.rs:438-439` `Term::Do` doc-comment
|
||||
"resolved against the effect-handler table at link time" — there is
|
||||
no handler table; it is an `IndexMap` lookup at typecheck + a
|
||||
literal codegen `match`; correct it. Lockstep: `form_a.md:226,358`
|
||||
+ CLI-help `main.rs:289` Diverge mentions reconciled. Guard: a new
|
||||
doc-presence test (false strings absent, corrected text present).
|
||||
No language/codegen change; pure documentation truth. Grounding
|
||||
triple-verified 2026-05-16 (three `ailang-grounding-check` PASSes).
|
||||
- context: surfaced by the effect-subsystem recon during the
|
||||
retired effect-op-arg-modes brainstorm; see the Stateful-islands
|
||||
"UNDER RE-THINK" note for why the bundle was rejected.
|
||||
- [x] **\[todo\]** DESIGN.md effect-prose is fiction — standalone
|
||||
documentation-honesty tidy. Shipped 2026-05-16 as iter
|
||||
effect-doc-honesty (a29700c): the three false effect-system claims
|
||||
(row-polymorphic `![IO | r]`; `IO`+`Diverge` both wired up;
|
||||
`Term::Do` "effect-handler table at link time") reconciled to the
|
||||
real flat-closed-set / IO-only / `IndexMap`+codegen-`match`
|
||||
mechanism, satellite lockstep done, guarded by a 4-test
|
||||
doc-presence pin. No language/checker/codegen change.
|
||||
- context: per-iter journal
|
||||
`docs/journals/2026-05-16-iter-effect-doc-honesty.md`.
|
||||
- [ ] **\[todo\]** `io/print_float` always-emit-`.0` — surface
|
||||
printer always emits `.` or `e/E` so re-lex routes to Float;
|
||||
the runtime printer (`printf("%g\n", v)`) doesn't, so `2.0`
|
||||
|
||||
Reference in New Issue
Block a user