ajhc-0.8.0.6: Haskell compiler that produce binary through C language

Safe HaskellNone

E.Eta

Synopsis

Documentation

etaExpandAp :: (NameMonad Id m, MonadStats m) => DataTable -> TVr -> [E] -> m (Maybe E)Source

eta expand a use of a value

etaExpandDefSource

Arguments

:: (NameMonad Id m, MonadStats m) 
=> DataTable 
-> Int

eta expand at least this far, independent of calculated amount

-> TVr 
-> E 
-> m (Maybe (TVr, E)) 

eta expand a definition

etaExpandDef' :: (NameMonad Id m, MonadStats m) => DataTable -> Int -> TVr -> E -> m (TVr' E, E)Source

only reduce if all lambdas can be discarded. otherwise leave them in place

etaReduce :: E -> ESource

eta reduce as much as possible