Expand description
M3: type checker. Walks the canonical AST, infers types via unification, and checks declared signatures and effects.
Structs§
- Program
Types - Result of checking a whole program.
Functions§
- check_
and_ rewrite_ program - Type-check
stagesand rewrite everymodule.parse(s)call where the inferred T is a Record into the equivalentmodule.parse_strict(s, [field_names])(#168). Existingcheck_programkeeps the old immutable signature for tests and tools that don’t want the AST rewritten. - check_
program