Prechádzať zdrojové kódy

docs: two-phase session summary — forward machinery deleted (goal reached)

Eric Streit 1 deň pred
rodič
commit
99a393a364
1 zmenil súbory, kde vykonal 22 pridanie a 0 odobranie
  1. 22 0
      docs/summary_two-phase-m2-2026-10-16.md

+ 22 - 0
docs/summary_two-phase-m2-2026-10-16.md

@@ -104,6 +104,28 @@ proc naming a parent local declared later), which module-level deferral
 does not cover and which was already broken (fails to link) before the
 does not cover and which was already broken (fails to link) before the
 flip.
 flip.
 
 
+## COMPLETED (same session) — machinery deleted
+
+Nested deferral was tried (defer during the repass) and **reverted**: it
+regressed nested-proc codegen (`t_nestdeep`/`showcase10`).  So nested
+forwards are instead made a clean `201`, and the whole forward mechanism
+is deleted (commit `6d8d817`, tag `v3-forward-machinery-deleted`):
+
+- removed `SymTab.FwdVarRef`/`FwdVarName`/`FwdVarResolve` (+ tables),
+  `Check.NoteForward`/`FlushForward`, the `Design` forward branch, and
+  the dead `Check.SelType`/`LeafName`;
+- **language gains**: a module-level body may call a procedure declared
+  later (no `FORWARD` needed); a nested-local forward is a plain `201`
+  instead of a broken image;
+- **verified**: suite **201/201** (`t_fwdproc` `-> 7`, `t_bad_nestfwd`
+  `201`); **fixpoint OK (3,574,843 bytes)**; corpus **365 vs 358 OK**
+  (`-notwophase`): **+7 files, 0 regressions, 0 crashes**.
+
+This closes the resolve/check thread's goal.  Remaining cleanup
+(separate): `Check` is now a largely vestigial walk
+(`PropNode`/`EvalExpr`/`CheckAssign` re-type/re-check nothing once no
+node is `Ty = -1`).
+
 ## Resume
 ## Resume
 
 
 ```sh
 ```sh