EnumsΒ§
- Binding π
- A stand in for the types of bindings we might encounter.
FunctionsΒ§
- assert_
letrec_ πmajor - Asserts that
expr
in βLetRec-majorβ form. - assert_
no_ πlets - extract_
bindings π - Extracts exposed bindings into
bindings
. - harvest_
non_ πrecursive - Harvest any safe-to-lift non-recursive bindings from a
LetRec
expression. - harvest_
nonrec_ πsuffix - 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.
- post_
order_ πharvest_ lets - Performs a post-order traversal of the
LetRec
nodes at the root of an expression. - promote_
let_ πrec - Promotes all
Let
andLetRec
nodes to the roots of their expressions.