| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
SimplMonad
Synopsis
- data SimplM result
- initSmpl :: DynFlags -> RuleEnv -> (FamInstEnv, FamInstEnv) -> UniqSupply -> Int -> SimplM a -> IO (a, SimplCount)
- traceSmpl :: String -> SDoc -> SimplM ()
- getSimplRules :: SimplM RuleEnv
- getFamEnvs :: SimplM (FamInstEnv, FamInstEnv)
- class Monad m => MonadUnique m where
- getUniqueSupplyM :: m UniqSupply
- getUniqueM :: m Unique
- getUniquesM :: m [Unique]
- newId :: FastString -> Type -> SimplM Id
- newJoinId :: [Var] -> Type -> SimplM Id
- data SimplCount
- tick :: Tick -> SimplM ()
- freeTick :: Tick -> SimplM ()
- checkedTick :: Tick -> SimplM ()
- getSimplCount :: SimplM SimplCount
- zeroSimplCount :: DynFlags -> SimplCount
- pprSimplCount :: SimplCount -> SDoc
- plusSimplCount :: SimplCount -> SimplCount -> SimplCount
- isZeroSimplCount :: SimplCount -> Bool
Documentation
Instances
Instance details
Defined in SimplMonad
Methods
getUniqueSupplyM :: SimplM UniqSupply Source #
getUniqueM :: SimplM Unique Source #
getUniquesM :: SimplM [Unique] Source #
initSmpl :: DynFlags -> RuleEnv -> (FamInstEnv, FamInstEnv) -> UniqSupply -> Int -> SimplM a -> IO (a, SimplCount) Source #
getFamEnvs :: SimplM (FamInstEnv, FamInstEnv) Source #
class Monad m => MonadUnique m where Source #
A monad for generating unique identifiers
Minimal complete definition
Methods
getUniqueSupplyM :: m UniqSupply Source #
Get a new UniqueSupply
getUniqueM :: m Unique Source #
Get a new unique identifier
getUniquesM :: m [Unique] Source #
Get an infinite list of new unique identifiers
Instances
Instance details
Defined in UniqSupply
Methods
getUniqueSupplyM :: UniqSM UniqSupply Source #
getUniqueM :: UniqSM Unique Source #
getUniquesM :: UniqSM [Unique] Source #
Instance details
Defined in CoreMonad
Methods
getUniqueSupplyM :: CoreM UniqSupply Source #
getUniqueM :: CoreM Unique Source #
getUniquesM :: CoreM [Unique] Source #
Instance details
Defined in StgLiftLams.LiftM
Methods
getUniqueSupplyM :: LiftM UniqSupply Source #
getUniqueM :: LiftM Unique Source #
getUniquesM :: LiftM [Unique] Source #
Instance details
Defined in LlvmCodeGen.Base
Methods
getUniqueSupplyM :: LlvmM UniqSupply Source #
getUniqueM :: LlvmM Unique Source #
getUniquesM :: LlvmM [Unique] Source #
Instance details
Defined in StgCmmMonad
Methods
getUniqueSupplyM :: FCode UniqSupply Source #
getUniqueM :: FCode Unique Source #
getUniquesM :: FCode [Unique] Source #
Instance details
Defined in StgCmmExtCode
Methods
getUniqueSupplyM :: CmmParse UniqSupply Source #
getUniqueM :: CmmParse Unique Source #
getUniquesM :: CmmParse [Unique] Source #
Instance details
Defined in SimplMonad
Methods
getUniqueSupplyM :: SimplM UniqSupply Source #
getUniqueM :: SimplM Unique Source #
getUniquesM :: SimplM [Unique] Source #
Instance details
Defined in TcSMonad
Methods
getUniqueSupplyM :: TcS UniqSupply Source #
getUniqueM :: TcS Unique Source #
getUniquesM :: TcS [Unique] Source #
Instance details
Defined in NCGMonad
Methods
getUniqueSupplyM :: NatM UniqSupply Source #
getUniqueM :: NatM Unique Source #
getUniquesM :: NatM [Unique] Source #
Instance details
Defined in TcRnMonad
Methods
getUniqueSupplyM :: IOEnv (Env gbl lcl) UniqSupply Source #
data SimplCount Source #
checkedTick :: Tick -> SimplM () Source #
zeroSimplCount :: DynFlags -> SimplCount Source #
pprSimplCount :: SimplCount -> SDoc Source #
plusSimplCount :: SimplCount -> SimplCount -> SimplCount Source #
isZeroSimplCount :: SimplCount -> Bool Source #