futhark-0.19.7: An optimising compiler for a functional, array-oriented language.
Safe HaskellTrustworthy
LanguageHaskell2010

Futhark.Internalise.Monad

Synopsis

Documentation

data InternaliseM a Source #

Instances

Instances details
Monad InternaliseM Source # 
Instance details

Defined in Futhark.Internalise.Monad

Functor InternaliseM Source # 
Instance details

Defined in Futhark.Internalise.Monad

Methods

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

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

Applicative InternaliseM Source # 
Instance details

Defined in Futhark.Internalise.Monad

MonadFreshNames InternaliseM Source # 
Instance details

Defined in Futhark.Internalise.Monad

MonadBinder InternaliseM Source # 
Instance details

Defined in Futhark.Internalise.Monad

Associated Types

type Rep InternaliseM Source #

MonadReader InternaliseEnv InternaliseM Source # 
Instance details

Defined in Futhark.Internalise.Monad

LocalScope SOACS InternaliseM Source # 
Instance details

Defined in Futhark.Internalise.Monad

HasScope SOACS InternaliseM Source # 
Instance details

Defined in Futhark.Internalise.Monad

type Rep InternaliseM Source # 
Instance details

Defined in Futhark.Internalise.Monad

throwError :: MonadError e m => e -> m a #

Is used within a monadic computation to begin exception processing.

type VarSubstitutions = Map VName [SubExp] Source #

A mapping from external variable names to the corresponding internalised subexpressions.

addFunDef :: FunDef SOACS -> InternaliseM () Source #

Add a function definition to the program being constructed.

assert :: String -> SubExp -> ErrorMsg SubExp -> SrcLoc -> InternaliseM Certificates Source #

Construct an Assert statement, but taking attributes into account. Always use this function, and never construct Assert directly in the internaliser!

Convenient reexports