Crate gluon_check[][src]

Expand description

The check crate is responsible for ensuring that an AST expression is actually a valid program. This currently consits of three larger parts, typechecking, kindchecking and renaming. If an AST passes the checks in Typecheck::typecheck_expr (which runs all of theses checks the expression is expected to compile succesfully (if it does not it should be considered an internal compiler error.


The main typechecking interface which is responsible for typechecking expressions, patterns, etc. Only checks which need to be aware of expressions are handled here the actual unifying and checking of types are done in the unify_type and kindcheck modules.



Checks if actual can be assigned to a binding with the type signature signature