Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

How to read this reference

The reference lists the surface the compiler accepts. Short programs in the tutorial are included from book/examples/ and checked by book/check.sh. A fragment in the reference shows a form and leaves the surrounding program out; the specification's complete programs live in docs/design/ and are compiled by the test suite.

A signature is written the way a declaration writes it. A call supplies the value group by flowing into the function, as Flow describes.

The pages are:

PageWhat it answers
Lexical structureTokens, literals, keywords
Declarationsfunc, proc, data, enum, menu, form, spec, hook, hand, def, sect
ExpressionsBlocks, of, mu, do, let, chains
TypesPrimitives, arrows, connectives, rows, signs
PatternsWhat an arm or a let may match
Flow<, |, >, application, cuts
PolarityWhen a computation runs
Effects and handlershook, do, hn, hand, rows
Traitsspec, impl, bounds, associated types
Sections and filessect, cite, files
PreludeNames in every program
Standard librarySections cited by path
BuiltinsOperations the compiler provides
The slc commandrun, check, fmt
DiagnosticsPhases and runtime failures
Surface formsThe shapes, gathered in one place