ghc-lib-0.20210331: The GHC API, decoupled from GHC versions
Safe HaskellNone
LanguageHaskell2010

GHC.Core.Opt.Simplify.Monad

Documentation

data SimplM result Source #

Instances

Instances details
Monad SimplM Source # 
Instance details

Defined in GHC.Core.Opt.Simplify.Monad

Methods

(>>=) :: SimplM a -> (a -> SimplM b) -> SimplM b #

(>>) :: SimplM a -> SimplM b -> SimplM b #

return :: a -> SimplM a #

Functor SimplM Source # 
Instance details

Defined in GHC.Core.Opt.Simplify.Monad

Methods

fmap :: (a -> b) -> SimplM a -> SimplM b #

(<$) :: a -> SimplM b -> SimplM a #

Applicative SimplM Source # 
Instance details

Defined in GHC.Core.Opt.Simplify.Monad

Methods

pure :: a -> SimplM a #

(<*>) :: SimplM (a -> b) -> SimplM a -> SimplM b #

liftA2 :: (a -> b -> c) -> SimplM a -> SimplM b -> SimplM c #

(*>) :: SimplM a -> SimplM b -> SimplM b #

(<*) :: SimplM a -> SimplM b -> SimplM a #

MonadIO SimplM Source # 
Instance details

Defined in GHC.Core.Opt.Simplify.Monad

Methods

liftIO :: IO a -> SimplM a #

MonadUnique SimplM Source # 
Instance details

Defined in GHC.Core.Opt.Simplify.Monad

HasDynFlags SimplM Source # 
Instance details

Defined in GHC.Core.Opt.Simplify.Monad

HasLogger SimplM Source # 
Instance details

Defined in GHC.Core.Opt.Simplify.Monad

initSmpl :: Logger -> DynFlags -> RuleEnv -> (FamInstEnv, FamInstEnv) -> Int -> SimplM a -> IO (a, SimplCount) Source #

traceSmpl :: String -> SDoc -> SimplM () Source #

getFamEnvs :: SimplM (FamInstEnv, FamInstEnv) Source #

getOptCoercionOpts :: SimplM OptCoercionOpts Source #

class Monad m => MonadUnique (m :: Type -> Type) where #

Minimal complete definition

getUniqueSupplyM

Instances

Instances details
MonadUnique UniqSM 
Instance details

Defined in GHC.Types.Unique.Supply

Methods

getUniqueSupplyM :: UniqSM UniqSupply #

getUniqueM :: UniqSM Unique #

getUniquesM :: UniqSM [Unique] #

MonadUnique NatM Source # 
Instance details

Defined in GHC.CmmToAsm.Monad

MonadUnique CoreM 
Instance details

Defined in GHC.Core.Opt.Monad

Methods

getUniqueSupplyM :: CoreM UniqSupply #

getUniqueM :: CoreM Unique #

getUniquesM :: CoreM [Unique] #

MonadUnique SimplM Source # 
Instance details

Defined in GHC.Core.Opt.Simplify.Monad

MonadUnique LiftM Source # 
Instance details

Defined in GHC.Stg.Lift.Monad

MonadUnique FCode Source # 
Instance details

Defined in GHC.StgToCmm.Monad

MonadUnique CmmParse Source # 
Instance details

Defined in GHC.StgToCmm.ExtCode

MonadUnique TcS Source # 
Instance details

Defined in GHC.Tc.Solver.Monad

MonadUnique LlvmM Source # 
Instance details

Defined in GHC.CmmToLlvm.Base

MonadUnique (IOEnv (Env gbl lcl)) Source # 
Instance details

Defined in GHC.Tc.Utils.Monad

Methods

getUniqueSupplyM :: IOEnv (Env gbl lcl) UniqSupply #

getUniqueM :: IOEnv (Env gbl lcl) Unique #

getUniquesM :: IOEnv (Env gbl lcl) [Unique] #

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

tick :: Tick -> SimplM () Source #

freeTick :: Tick -> SimplM () Source #

checkedTick :: Tick -> SimplM () Source #