summary_session-2026-10-24-language-robustness.md 1.5 KB

Session 2026-10-24 — language/robustness pass

Gates: suite 307/307, one-shot fixpoint OK (3,809,843 bytes), separate-object fixpoint OK (11 objects), corpus 521/612 compile-OK, 0 crashes.

Landed

  • ADDRESS ↔ pointer equality (SymTab.EqCheck): an ADDRESS now compares with any pointer value, which is the standard way to check ADR(p^) = p. Regression t_addreq.
  • Wide sets / SET OF CARDINAL: ordinary sets now allow spans up to 1,000,000 bits; SET OF CARDINAL uses that bounded span and supports empty literals, INCL/EXCL, membership and copying. SET OF INTEGER remains rejected. Regression t_wide_set; corpus settest1/settest3 now compile (519 → 521).
  • The corpus case adraddress remains a declaration-order reject; the language operation itself is no longer a gap.
  • Updated the feature status, comparison table and corpus triage.

Still open (language/robustness)

  • Wide ordinary sets stop at 1,000,000 bits; PACKEDSET remains capped at 32 bits. Wider set constants also carry the static-mask limit.
  • COMPLEX*, true 16-bit SHORTREAL, absolute variables and inline ASM remain outside the chosen PIM/ISO target.
  • ISO exception protection/coroutine follow-ups.
  • Parser error recovery and diagnostic polish.
  • The remaining corpus LANG cases are mostly deliberate declaration-order policy or dialect choices.

Commit/tag

  • feature tags v3-language-robustness, v3-wide-sets