| ghc-6.10.4: The GHC API | Contents | Index

SimplEnv

Documentation
type InId = Id
type InBind = CoreBind
type InExpr = CoreExpr
type InAlt = CoreAlt
type InArg = CoreArg
type InType = Type
type InBndr = CoreBndr
type OutId = Id
type OutTyVar = TyVar
type OutBind = CoreBind
type OutExpr = CoreExpr
type OutAlt = CoreAlt
type OutArg = CoreArg
type OutType = Type
type OutBndr = CoreBndr
type InCoercion = Coercion
type OutCoercion = Coercion
setMode :: SimplifierMode -> SimplEnv -> SimplEnv
getMode :: SimplEnv -> SimplifierMode
type SwitchChecker = SimplifierSwitch -> SwitchResult
data SwitchResult

Constructors

SwBool Bool |
SwString FastString |
SwInt Int |

getSwitchChecker :: SimplEnv -> SwitchChecker
getSimplIntSwitch :: SwitchChecker -> (Int -> SimplifierSwitch) -> Int
isAmongSimpl :: [SimplifierSwitch] -> SimplifierSwitch -> SwitchResult
intSwitchSet :: (switch -> SwitchResult) -> (Int -> switch) -> Maybe Int
switchIsOn :: (switch -> SwitchResult) -> switch -> Bool
setEnclosingCC :: SimplEnv -> CostCentreStack -> SimplEnv
getEnclosingCC :: SimplEnv -> CostCentreStack
data SimplEnv

Constructors

SimplEnv |

seMode :: SimplifierMode |
seChkr :: SwitchChecker |
seCC :: CostCentreStack |
seInScope :: InScopeSet |
seFloats :: Floats |
seTvSubst :: TvSubstEnv |
seIdSubst :: SimplIdSubst |

pprSimplEnv :: SimplEnv -> SDoc
mkSimplEnv :: SimplifierMode -> SwitchChecker -> SimplEnv
extendIdSubst :: SimplEnv -> Id -> SimplSR -> SimplEnv
extendTvSubst :: SimplEnv -> TyVar -> Type -> SimplEnv
zapSubstEnv :: SimplEnv -> SimplEnv
setSubstEnv :: SimplEnv -> TvSubstEnv -> SimplIdSubst -> SimplEnv
getInScope :: SimplEnv -> InScopeSet
setInScope :: SimplEnv -> SimplEnv -> SimplEnv
setInScopeSet :: SimplEnv -> InScopeSet -> SimplEnv
modifyInScope :: SimplEnv -> CoreBndr -> CoreBndr -> SimplEnv
addNewInScopeIds :: SimplEnv -> [CoreBndr] -> SimplEnv
getSimplRules :: SimplM RuleBase
data SimplSR

Constructors

DoneEx OutExpr |
DoneId OutId |
ContEx TvSubstEnv SimplIdSubst InExpr |

Instances

Outputable SimplSR

mkContEx :: SimplEnv -> InExpr -> SimplSR
substId :: SimplEnv -> InId -> SimplSR
lookupRecBndr :: SimplEnv -> InId -> OutId
simplNonRecBndr :: SimplEnv -> InBndr -> SimplM (SimplEnv, OutBndr)
simplRecBndrs :: SimplEnv -> [InBndr] -> SimplM SimplEnv
simplLamBndr :: SimplEnv -> Var -> SimplM (SimplEnv, Var)
simplLamBndrs :: SimplEnv -> [InBndr] -> SimplM (SimplEnv, [OutBndr])
simplBinder :: SimplEnv -> InBndr -> SimplM (SimplEnv, OutBndr)
simplBinders :: SimplEnv -> [InBndr] -> SimplM (SimplEnv, [OutBndr])
addBndrRules :: SimplEnv -> InBndr -> OutBndr -> (SimplEnv, OutBndr)
substExpr :: SimplEnv -> CoreExpr -> CoreExpr
substWorker :: SimplEnv -> WorkerInfo -> WorkerInfo
substTy :: SimplEnv -> Type -> Type
data Floats

Instances

Outputable Floats

emptyFloats :: Floats
isEmptyFloats :: SimplEnv -> Bool
addNonRec :: SimplEnv -> OutId -> OutExpr -> SimplEnv
addFloats :: SimplEnv -> SimplEnv -> SimplEnv
extendFloats :: SimplEnv -> OutBind -> SimplEnv
wrapFloats :: SimplEnv -> OutExpr -> OutExpr
floatBinds :: Floats -> [OutBind]
setFloats :: SimplEnv -> SimplEnv -> SimplEnv
zapFloats :: SimplEnv -> SimplEnv
addRecFloats :: SimplEnv -> SimplEnv -> SimplEnv
doFloatFromRhs :: TopLevelFlag -> RecFlag -> Bool -> OutExpr -> SimplEnv -> Bool
getFloats :: SimplEnv -> [CoreBind]
Produced by Haddock version 2.4.2