summaryrefslogtreecommitdiff
path: root/skills/chapter25-codex-notes.md
diff options
context:
space:
mode:
authorCliff Click <cliffc@acm.org>2026-11-01 12:32:14 -0800
committerCliff Click <cliffc@acm.org>2026-11-01 12:32:14 -0800
commitbfd9af8f9518a6fe87cbb706813cd87c8dc5ea90 (patch)
tree19a34404897a725c1295c425f0d59b1eae0bb2f4 /skills/chapter25-codex-notes.md
parentf4bd723d929e53475f7990374dca7b7dfcbbdc42 (diff)
downloadSimple-ch29-cleanup.tar.gz
Simple-ch29-cleanup.zip
First cut parser splitch29-cleanup
Diffstat (limited to 'skills/chapter25-codex-notes.md')
-rw-r--r--skills/chapter25-codex-notes.md14
1 files changed, 8 insertions, 6 deletions
diff --git a/skills/chapter25-codex-notes.md b/skills/chapter25-codex-notes.md
index ff5722a2..194e6f1a 100644
--- a/skills/chapter25-codex-notes.md
+++ b/skills/chapter25-codex-notes.md
@@ -30,12 +30,14 @@ Source privacy is deferred. `ai_priv` retains the earlier implementation,
preserves the combined working state before the split. Do not reintroduce
privacy checks or fixture adaptations as incidental parser cleanup.
-Constructor completion remains open. `addReturn` merges field states already,
-but final helper memory can hide missing initialization after conversions.
-`parseInitializer` returns the declaration initializer, not the user constructor.
-Prefer simplifying around the merged scope before stores; consider the older
-same-named constructor binding, parsed before later fields, when removing
-`_ctorExits`. No constructor semantics were changed by the chapter split.
+Chapter 29 checks constructor completion after `parseBody` returns to
+`parseInitializer`. Required fields missing on any merged exit retain `TOP`
+in private memory and emit no Store; numeric conversions must not hide that
+state. Check the user constructor's Return separately from the declaration
+initializer. The older same-named binding is parsed before later fields and
+uses the declaration initializer for fields absent from its Return. There is
+no `_ctorExits` snapshot list. Completion diagnostics now use the relevant
+helper's location, since the field's lexical scope has been torn down.
The roadmap retains language candidates, including automatic memory management
and a small game with graphics, keyboard input, and sound.