Module FlatCurry.NormalizeLet

Summary of exported operations:

normalizeLet :: Expr -> Expr  Deterministic 
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.

Exported operations:

normalizeLet :: Expr -> Expr  Deterministic 

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