Safe Haskell | Safe-Infered |
---|
Rewrites on Let Expressions
letFloatApp :: RewriteH CoreExprSource
(let v = ev in e) x ==> let v = ev in e x
letFloatArg :: RewriteH CoreExprSource
f (let v = ev in e) ==> let v = ev in f e
letFloatExpr :: RewriteH CoreExprSource
Float a Let through an expression, whatever the context.
letFloatLetTop :: RewriteH CoreProgramSource
NonRec v (Let (NonRec w ew) ev) : bds ==> NonRec w ew : NonRec v ev : bds