- data SimplM result
- initSmpl :: DynFlags -> RuleBase -> (FamInstEnv, FamInstEnv) -> UniqSupply -> SimplM a -> (a, SimplCount)
- getDOptsSmpl :: SimplM DynFlags
- getSimplRules :: SimplM RuleBase
- getFamEnvs :: SimplM (FamInstEnv, FamInstEnv)
- class Monad m => MonadUnique m where
- getUniqueSupplyM :: m UniqSupply
- getUniqueM :: m Unique
- getUniquesM :: m [Unique]
- newId :: FastString -> Type -> SimplM Id
- data SimplCount
- tick :: Tick -> SimplM ()
- freeTick :: Tick -> SimplM ()
- getSimplCount :: SimplM SimplCount
- zeroSimplCount :: DynFlags -> SimplCount
- pprSimplCount :: SimplCount -> SDoc
- plusSimplCount :: SimplCount -> SimplCount -> SimplCount
- isZeroSimplCount :: SimplCount -> Bool
- type SwitchChecker = SimplifierSwitch -> SwitchResult
- data SwitchResult
- getSimplIntSwitch :: SwitchChecker -> (Int -> SimplifierSwitch) -> Int
- isAmongSimpl :: [SimplifierSwitch] -> SimplifierSwitch -> SwitchResult
- intSwitchSet :: (switch -> SwitchResult) -> (Int -> switch) -> Maybe Int
- switchIsOn :: (switch -> SwitchResult) -> switch -> Bool
- allOffSwitchChecker :: SwitchChecker
Documentation
initSmpl :: DynFlags -> RuleBase -> (FamInstEnv, FamInstEnv) -> UniqSupply -> SimplM a -> (a, SimplCount)Source
class Monad m => MonadUnique m whereSource
A monad for generating unique identifiers
getUniqueSupplyM :: m UniqSupplySource
Get a new UniqueSupply
getUniqueM :: m UniqueSource
Get a new unique identifier
getUniquesM :: m [Unique]Source
Get an infinite list of new unique identifiers
MonadUnique UniqSM | |
MonadUnique FuelMonad | |
MonadUnique CoreM | |
MonadUnique SimplM | |
MonadUnique (IOEnv (Env gbl lcl)) | |
MonadUnique (DFM' FuelMonad f) |
data SimplCount Source
type SwitchChecker = SimplifierSwitch -> SwitchResultSource
getSimplIntSwitch :: SwitchChecker -> (Int -> SimplifierSwitch) -> IntSource
intSwitchSet :: (switch -> SwitchResult) -> (Int -> switch) -> Maybe IntSource
switchIsOn :: (switch -> SwitchResult) -> switch -> BoolSource