Module mz_transform::normalize_lets::let_motion
source · Enums§
- Binding πA stand in for the types of bindings we might encounter.
Functions§
- assert_
letrec_ πmajor Asserts thatexpr
in βLetRec-majorβ form. - assert_
no_ πlets - extract_
bindings πExtracts exposed bindings intobindings
. - 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. - hoist_
bindings πHoist all exposed bindings to the root of the expression. - Performs a post-order traversal of the
LetRec
nodes at the root of an expression. - promote_
let_ πrec Promotes allLet
andLetRec
nodes to the roots of their expressions.