Named records feature contract (L17)#
Named records are three draft alpha-2027 surface forms over an existing,
checked, single-constructor family:
- construction:
(record Config (width = 80) …); - projection:
(project Config width config); - functional update:
(update Config config (width = 100)).
They are surface sugar. Construction becomes the family's ordinary constructor;
projection and update become ordinary exhaustive eliminators. No record node is
added to the trusted core, erasure, ALRI v4, or checked-interface schema. The
bootstrap checker and the Alpha-authored fixtures in tests/language/records/
exercise the same ordering, dependency, quantity, and hygiene rules.
alpha fmt retains the readable named spelling. alpha inspect FILE --expanded replaces checked definition bodies with parseable explicit core
surface and re-checks the result as an overlay; the command refuses output if
any closure interface digest changes.