ghc-7.0.3: The GHC API

SimplMonad

Synopsis

- 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

# Documentation

data SimplM result Source

Instances

Monad SimplM |
MonadUnique SimplM |

initSmpl :: DynFlags -> RuleBase -> (FamInstEnv, FamInstEnv) -> UniqSupply -> SimplM a -> (a, SimplCount)Source

getDOptsSmpl :: SimplM DynFlags Source

getSimplRules :: SimplM RuleBase Source

getFamEnvs :: SimplM (FamInstEnv, FamInstEnv)Source

class Monad m => MonadUnique m where Source

A monad for generating unique identifiers

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 UniqSM |
MonadUnique FuelMonad |
MonadUnique CoreM |
MonadUnique SimplM |
MonadUnique (IOEnv (Env gbl lcl)) |
MonadUnique (DFM' FuelMonad f) |

newId :: FastString -> Type -> SimplM Id Source

data SimplCount Source

tick :: Tick -> SimplM ()Source

freeTick :: Tick -> SimplM ()Source

getSimplCount :: SimplM SimplCount Source

zeroSimplCount :: DynFlags -> SimplCount Source

pprSimplCount :: SimplCount -> SDoc Source

plusSimplCount :: SimplCount -> SimplCount -> SimplCount Source

isZeroSimplCount :: SimplCount -> Bool Source