Namespace ‘type’. Type checking.
The interface of the Type module. It exports a single procedure,
The definitions of all the types. Built-in types (
Void) are defined in
Nil type is holding information about the real record type that it’s
record_type represents the actual type that the
nil was meant
to be used with.
record_type is set during the type-checker in the parent nodes of
the node holding a
type::TypeChecker visitor. Computes the types of an
AST and adds type labels to the corresponding nodes (works on
syntax without object).
type::PrettyPrinter visitor which pretty-prints
in a human-readable way. Used to output nice type errors.