Crate kind_pass

Crate kind_pass 

Source
Expand description

A lot of transformations that we can apply into kind trees.

  • desugar - That desugars the sugared tree into a version that does not contain a lot of constructions like match, inductive types etc.
  • erasure - Erases all of the definitions that are marked as erased from the runtime.
  • expand - Expand some attributes and derivations of each construction.
  • unbound - Collects all of the unbound definitions and check the linearity of them.
  • inline - Inlines expressions

Modulesยง

desugar
This pass transforms a sugared tree into a simpler tree.
erasure
expand
Expand some attributes and derivations of each construction. Currently it just derives match and open for sum type and record types respectively.
inline
subst
unbound
Collects all the unbound variables, check if patterns are linear and check if the name belongs to the current module.