Safe Haskell | None |
---|
- lambdaLift :: Program -> IO Program
- staticArgumentTransform :: Program -> Program
Documentation
lambdaLift :: Program -> IO ProgramSource
staticArgumentTransform :: Program -> ProgramSource
transform simple recursive functions into non-recursive variants this is exactly the opposite of lambda lifting, but is a big win if the function ends up inlined and is conducive to other optimizations
in particular, the type arguments can almost always be transformed away from the recursive inner function
this has potentially exponential behavior. beware