You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
refactor(stdlib,tests,examples)!: migrate record literals to #{ [#218]
Mechanical companion to the `#{` grammar change — 45 in-repo `.affine`
files (stdlib, tests, golden oracles, e2e fixtures, examples) rewritten
from legacy `{ … }` record literals to `#{ … }`.
Method: a sound, convergent codemod that depends ONLY on the new,
unambiguous grammar (never the old ambiguous parser): parse with the
new grammar, and at each parse error insert `#` before the innermost
enclosing record `{`, iterating to a fixed point. Codepoint-correct
(handles non-ASCII). The codemod tooling is intentionally not committed.
Result: `dune runtest` = 257/257 green (the #218 gate), identical to
the pre-change baseline — no regression; `#{` is now the record syntax
across the full test suite.
Out of scope (tracked, per the #218 plan steps 3–4):
- estate-wide `.affine` sweep in other repos;
- ~24 non-gating files the convergent codemod did not auto-migrate
(LR error reported past the record's `}`): conformance/valid/*,
docs/guides/warmup/*, codegen-deno/*, some tests/types/* — plus the
intentional conformance/invalid/* error fixtures and face-syntax
examples which must stay as-is. None are in the 257 gate.
Refs #218#215
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
0 commit comments