| ||||||||||||||||||||
| ||||||||||||||||||||
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 | ||||||||||||||||||||
| ||||||||||||||||||||
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) | ||||||||||||||||||||
addBndrRules :: SimplEnv -> InBndr -> OutBndr -> (SimplEnv, OutBndr) | ||||||||||||||||||||
substExpr :: SimplEnv -> CoreExpr -> CoreExpr | ||||||||||||||||||||
substWorker :: SimplEnv -> WorkerInfo -> WorkerInfo | ||||||||||||||||||||
substTy :: SimplEnv -> Type -> Type | ||||||||||||||||||||
data 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.3.0 |