summaryrefslogtreecommitdiff
path: root/skills
diff options
context:
space:
mode:
authorCliff Click <cliffc@acm.org>2026-09-20 10:22:52 -0700
committerCliff Click <cliffc@acm.org>2026-09-20 10:22:52 -0700
commit942a85c5be51686d7a426d8f21e66cd8ea57e945 (patch)
treedccf5d4ebdbce8f59dd73bc10b85fc127955ee98 /skills
parentdb3ca780c26b78cbe129a5c1bdf0d8ff7d867d1b (diff)
downloadSimple-942a85c5be51686d7a426d8f21e66cd8ea57e945.tar.gz
Simple-942a85c5be51686d7a426d8f21e66cd8ea57e945.zip
Backport TypeFunPtr normalization
Diffstat (limited to 'skills')
-rw-r--r--skills/chapter25-codex-notes.md6
1 files changed, 6 insertions, 0 deletions
diff --git a/skills/chapter25-codex-notes.md b/skills/chapter25-codex-notes.md
index fd5ab9d9..4fb182ff 100644
--- a/skills/chapter25-codex-notes.md
+++ b/skills/chapter25-codex-notes.md
@@ -228,6 +228,12 @@ Consequences:
that path deterministically by interning a BOTTOM-field struct before
meeting two float-constant variants; `TypeTest.testCyclicLeafKinds` in 23-25
checks the resulting field, canonical identity, and meet/dual behavior.
+- Function signatures acquire implicit open/closed argument tails in 23.
+ Normalize trailing defaults before interning: global BOTTOM/TOP in 23-24,
+ scalar BOT/TOP in 25. Preserve defaults before a later non-default argument.
+ Keep normalization out of raw cyclic allocation, whose child slots are still
+ incomplete. Add representative signatures to `TypeFunPtr.gather` for the
+ existing lattice-law tests; no separate test harness is needed.
- The type lattice must remain complete, symmetric, and bounded. Run TypeTest
after changing Type/Field equality, hashing, duality, meet/join, interning,
serialization, or gather sets.