|isCoreLetRec :: CoreExpr -> Bool|
Is a CoreLet recursive, i.e. do any of the introduced variables (LHS of bind) also show up in the RHS of bind.
Returns False if the expression is not a CoreLet.
|removeRecursiveLet :: Core -> Core|
Remove recursive lets
Let's are rearranged so a variable is not used in the defining block
|reduceRecursiveLet :: Core -> Core|
|Reduce the number of recursive lets, but splitting lets which have recursive bindings, but can be linearised|
|Produced by Haddock version 0.8|