| ||||||||||||||||||||
| ||||||||||||||||||||
| 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 -> 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) | ||||||||||||||||||||
| 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 | ||||||||||||||||||||
| ||||||||||||||||||||
| 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.7.2 | ||||||||||||||||||||