Module mz_transform::normalize_lets::let_motion
source · Functions
- Asserts that
expr
in “LetRec-major” form. - Promotes all available let bindings to the root of the expression.
- Extracts all
Let
andLetRec
bindings fromexpr
through its firstLetRec
. - Harvest any safe-to-lift non-recursive bindings from a
LetRec
expression. - Harvest any safe-to-lower non-recursive suffix of binding from a
LetRec
expression. - Performs a post-order traversal of the
LetRec
nodes at the root of an expression. - Promotes all
Let
andLetRec
nodes to the roots of their expressions.