| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
GHC.Core.Opt.Simplify.Monad
Synopsis
- data TopEnvConfig = TopEnvConfig {
- te_history_size :: !Int
- te_tick_factor :: !Int
- data SimplM result
- initSmpl :: Logger -> IO RuleEnv -> TopEnvConfig -> Int -> SimplM a -> IO (a, SimplCount)
- traceSmpl :: String -> SDoc -> SimplM ()
- getSimplRules :: SimplM RuleEnv
- class Monad m => MonadUnique m where
- getUniqueSupplyM :: m UniqSupply
- getUniqueM :: m Unique
- getUniquesM :: m [Unique]
- newId :: FastString -> Mult -> Type -> SimplM Id
- newJoinId :: [Var] -> Type -> SimplM Id
- data SimplCount
- tick :: Tick -> SimplM ()
- freeTick :: Tick -> SimplM ()
- checkedTick :: Tick -> SimplM ()
- getSimplCount :: SimplM SimplCount
- zeroSimplCount :: Bool -> SimplCount
- pprSimplCount :: SimplCount -> SDoc
- plusSimplCount :: SimplCount -> SimplCount -> SimplCount
- isZeroSimplCount :: SimplCount -> Bool
Documentation
data TopEnvConfig Source #
Constructors
| TopEnvConfig | |
Fields
| |
Instances
| MonadIO SimplM Source # | |
Defined in GHC.Core.Opt.Simplify.Monad | |
| Applicative SimplM Source # | |
| Functor SimplM Source # | |
| Monad SimplM Source # | |
| MonadUnique SimplM Source # | |
Defined in GHC.Core.Opt.Simplify.Monad Methods getUniqueSupplyM :: SimplM UniqSupply Source # getUniqueM :: SimplM Unique Source # getUniquesM :: SimplM [Unique] Source # | |
| HasLogger SimplM Source # | |
Arguments
| :: Logger | |
| -> IO RuleEnv | |
| -> TopEnvConfig | |
| -> Int | Size of the bindings, used to limit the number of ticks we allow |
| -> SimplM a | |
| -> IO (a, SimplCount) |
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
| MonadUnique CoreM Source # | |
Defined in GHC.Core.Opt.Monad Methods getUniqueSupplyM :: CoreM UniqSupply Source # getUniqueM :: CoreM Unique Source # getUniquesM :: CoreM [Unique] Source # | |
| MonadUnique SimplM Source # | |
Defined in GHC.Core.Opt.Simplify.Monad Methods getUniqueSupplyM :: SimplM UniqSupply Source # getUniqueM :: SimplM Unique Source # getUniquesM :: SimplM [Unique] Source # | |
| MonadUnique UniqSM Source # | |
Defined in GHC.Types.Unique.Supply Methods getUniqueSupplyM :: UniqSM UniqSupply Source # getUniqueM :: UniqSM Unique Source # getUniquesM :: UniqSM [Unique] Source # | |
newJoinId :: [Var] -> Type -> SimplM Id Source #
Make a join id with given type and arity but without call-by-value annotations.
data SimplCount Source #
checkedTick :: Tick -> SimplM () Source #
Arguments
| :: Bool |
|
| -> SimplCount |
pprSimplCount :: SimplCount -> SDoc Source #
plusSimplCount :: SimplCount -> SimplCount -> SimplCount Source #
isZeroSimplCount :: SimplCount -> Bool Source #