ghc-9.12: The GHC API
Safe HaskellNone
LanguageGHC2021

GHC.Core.Opt.Simplify.Monad

Synopsis

Documentation

data SimplM result Source #

Instances

Instances details
MonadUnique SimplM Source # 
Instance details

Defined in GHC.Core.Opt.Simplify.Monad

HasLogger SimplM Source # 
Instance details

Defined in GHC.Core.Opt.Simplify.Monad

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 #

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 #

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 #

MonadIO SimplM Source # 
Instance details

Defined in GHC.Core.Opt.Simplify.Monad

Methods

liftIO :: IO a -> SimplM a #

initSmpl 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 :: Type -> Type) where Source #

A monad for generating unique identifiers

Minimal complete definition

getUniqueSupplyM

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

Instances details
MonadUnique CoreM Source # 
Instance details

Defined in GHC.Core.Opt.Monad

MonadUnique SimplM Source # 
Instance details

Defined in GHC.Core.Opt.Simplify.Monad

MonadUnique LiftM Source # 
Instance details

Defined in GHC.Stg.Lift.Monad

MonadUnique CmmParse Source # 
Instance details

Defined in GHC.StgToCmm.ExtCode

MonadUnique FCode Source # 
Instance details

Defined in GHC.StgToCmm.Monad

MonadUnique TcS Source # 
Instance details

Defined in GHC.Tc.Solver.Monad

MonadUnique UniqSM Source # 
Instance details

Defined in GHC.Types.Unique.Supply

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

Defined in GHC.Tc.Utils.Monad

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

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

zeroSimplCount Source #

Arguments

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