|
|
|
|
|
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 |
|
|
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 |
|
|
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 | | Instances | |
|
|
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 | |
|
|
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 |