normalizeLet
:: Expr -> Expr
Normalize all let expressions occurring in an expression by transforming each let expression into a hierarchical let expression according to the dependencies of the bindings. |
Normalize all let expressions occurring in an expression by transforming each let expression into a hierarchical let expression according to the dependencies of the bindings. For instance, let { x = f y ; y = g z} in e is transformed into let { y = g z} in let { x = f y} in e |