Module melodeon::typesys

source ·

Structs

Enums

Represents a rather surface-level const-expression. Polynomial-based canonicalization is not yet here.
A Melodeon type. Type is generic over two parameters, TVar and CVar, which represent the type for type-variables as well as the type for constant-generic variables. These are generic types in order to statically guarantee the status of free variables. For example, one may start with Type<RawTVar, RawCVar>, turn that into Type<MangledTVar, MangledCVar>, and resolve that into Type.

Traits

Functions

Monomorphizes a set of function definitions and a “preliminary” body into a fully degenericized version.
Typechecks a single expression, returning a single typed ast node.
Typechecks a whole program, resolving free variables fully.