generatedView source

Language forms#

Every surface form of the language has a feature contract in docs/language/features/. A filled contract answers the same ten questions for its form: lexical and grammar rules; scope and binding; type and quantity requirements; effects, totality and evaluation order; elaboration into core; representation and target support; error codes and their origins; formatting and migration; positive, negative, execution and edge-case tests; and compatibility with the previous edition, serialized forms and cache keys. This index is generated from those files when the site is built.

The specification remains the normative definition of the language; a contract states how one form meets it. The language reference lists which compiler module owns each form's syntax, static semantics and erasure, and whether the form reaches a native artifact today.

Contracts (31)#

Forms added or changed since the contract system began, plus overview contracts that tie several forms together. draft-alpha-2027 forms belong to the draft edition: preview a module's rewrites with alpha migrate --from alpha-2026 --to alpha-2027 --check.

FormFeatureEditionStatusSuite
Application feature contract (L16)overview———
byte conjunctionform:byte-andalpha-2027draft-alpha-2027tests/language/ByteBitOperations.alpha
byte disjunctionform:byte-oralpha-2027draft-alpha-2027tests/language/ByteBitOperations.alpha
byte left shiftform:byte-shift-leftalpha-2027draft-alpha-2027tests/language/ByteBitOperations.alpha
byte right shiftform:byte-shift-rightalpha-2027draft-alpha-2027tests/language/ByteBitOperations.alpha
byte exclusive disjunctionform:byte-xoralpha-2027draft-alpha-2027tests/language/ByteBitOperations.alpha
exact byte literalform:byte-string-literalalpha-2027draft-alpha-2027tests/language/text/alpha-tests
readable match caseform:casealpha-2027draft-alpha-2027tests/language/matching
checked effect sequencingform:doalpha-2027draft-alpha-2027tests/language/sequencing
f32-addform:f32-addalpha-2027draft-alpha-2027tests/alpha-tests
f32-divideform:f32-dividealpha-2027draft-alpha-2027tests/alpha-tests
f32-equalform:f32-equalalpha-2027draft-alpha-2027tests/alpha-tests
f32-less-thanform:f32-less-thanalpha-2027draft-alpha-2027tests/alpha-tests
f32-multiplyform:f32-multiplyalpha-2027draft-alpha-2027tests/alpha-tests
f32-sqrtform:f32-sqrtalpha-2027draft-alpha-2027tests/alpha-tests
f32-subtractform:f32-subtractalpha-2027draft-alpha-2027tests/alpha-tests
requested induction hypothesis binderform:ihalpha-2027draft-alpha-2027tests/language/matching
sharing-preserving local sequencesform:let*alpha-2027draft-alpha-2027tests/language/sequencing
readable exhaustive matchingform:matchalpha-2027draft-alpha-2027tests/language/matching
readable matching with an explicit motiveform:match-withalpha-2027draft-alpha-2027tests/language/matching
compile-time natural additionform:nat-addalpha-2027draft-alpha-2027tests/language/NatArithmeticCompileTime.alpha
compile-time natural truncated divisionform:nat-dividealpha-2027draft-alpha-2027tests/language/NatArithmeticCompileTime.alpha
integer literals and explicit compact naturalsform:nat-literalalpha-2027draft-alpha-2027tests/language/NatLiteralCompact.alpha
compile-time natural remainderform:nat-moduloalpha-2027draft-alpha-2027tests/language/NatArithmeticCompileTime.alpha
compile-time natural multiplicationform:nat-multiplyalpha-2027draft-alpha-2027tests/language/NatArithmeticCompileTime.alpha
compile-time natural saturating subtractionform:nat-subtractalpha-2027draft-alpha-2027tests/language/NatArithmeticCompileTime.alpha
named record projectionform:projectalpha-2027draft-alpha-2027tests/language/records
named record constructionform:recordalpha-2027draft-alpha-2027tests/language/records
Named records feature contract (L17)overview———
validated UTF-8 text literalform:text-literalalpha-2027draft-alpha-2027tests/language/text/alpha-tests
functional record updateform:updatealpha-2027draft-alpha-2027tests/language/records

Inherited forms (50)#

These forms were accepted in alpha-2026 before contracts existed. Their behaviour is covered by the edition conformance suite tests/alpha-tests; their syntax and owners are in the grammar and the reference. A change to one of them replaces its stub with a filled contract and a form-specific suite.

FormEditionRead
appalpha-2026grammar · reference
bindalpha-2026grammar · reference
bytealpha-2026grammar · reference
byte-equalalpha-2026grammar · reference
byte-less-thanalpha-2026grammar · reference
byte-to-natalpha-2026grammar · reference
bytesalpha-2026grammar · reference
bytes-appendalpha-2026grammar · reference
bytes-builder-appendalpha-2026grammar · reference
bytes-builder-buildalpha-2026grammar · reference
bytes-builder-chunkalpha-2026grammar · reference
bytes-builder-emptyalpha-2026grammar · reference
bytes-checksumalpha-2026grammar · reference
bytes-consalpha-2026grammar · reference
bytes-eliminatealpha-2026grammar · reference
bytes-equalalpha-2026grammar · reference
bytes-headalpha-2026grammar · reference
bytes-index-nonzeroalpha-2026grammar · reference
bytes-lengthalpha-2026grammar · reference
bytes-set-free-indexalpha-2026grammar · reference
bytes-set-indexalpha-2026grammar · reference
bytes-tailalpha-2026grammar · reference
computationalpha-2026grammar · reference
constructoralpha-2026grammar · reference
effect-rowalpha-2026grammar · reference
effectsalpha-2026grammar · reference
eliminatealpha-2026grammar · reference
equalalpha-2026grammar · reference
familyalpha-2026grammar · reference
firstalpha-2026grammar · reference
fsuccalpha-2026grammar · reference
fzeroalpha-2026grammar · reference
lambdaalpha-2026grammar · reference
letalpha-2026grammar · reference
nat-eliminatealpha-2026grammar · reference
nat-less-thanalpha-2026grammar · reference
nat-to-bytealpha-2026grammar · reference
pairalpha-2026grammar · reference
partialalpha-2026grammar · reference
pialpha-2026grammar · reference
read-filealpha-2026grammar · reference
reflalpha-2026grammar · reference
returnalpha-2026grammar · reference
runtime-image-v4-buildalpha-2026grammar · reference
secondalpha-2026grammar · reference
sigmaalpha-2026grammar · reference
succalpha-2026grammar · reference
transportalpha-2026grammar · reference
write-filealpha-2026grammar · reference
zeroalpha-2026grammar · reference