ghc-lib-parser-9.8.1.20231009: The GHC API, decoupled from GHC versions
Safe HaskellSafe-Inferred
LanguageHaskell2010

GHC.Core.Opt.Simplify.Monad

Synopsis

Documentation

data TopEnvConfig #

Constructors

TopEnvConfig 

data SimplM result #

Instances

Instances details
MonadIO SimplM # 
Instance details

Defined in GHC.Core.Opt.Simplify.Monad

Methods

liftIO :: IO a -> SimplM a #

Applicative SimplM # 
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 #

Functor SimplM # 
Instance details

Defined in GHC.Core.Opt.Simplify.Monad

Methods

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

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

Monad SimplM # 
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 #

MonadUnique SimplM # 
Instance details

Defined in GHC.Core.Opt.Simplify.Monad

HasLogger SimplM # 
Instance details

Defined in GHC.Core.Opt.Simplify.Monad

initSmpl #

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 #

A monad for generating unique identifiers

Minimal complete definition

getUniqueSupplyM

Methods

getUniqueSupplyM :: m UniqSupply #

Get a new UniqueSupply

getUniqueM :: m Unique #

Get a new unique identifier

getUniquesM :: m [Unique] #

Get an infinite list of new unique identifiers

newJoinId :: [Var] -> Type -> SimplM Id #

Make a join id with given type and arity but without call-by-value annotations.

tick :: Tick -> SimplM () #

zeroSimplCount #

Arguments

:: Bool
  • ddump-simpl-stats
-> SimplCount