futhark-0.11.0: An optimising compiler for a functional, array-oriented language.

Safe HaskellNone
LanguageHaskell2010

Futhark.Internalise.Monad

Contents

Synopsis

Documentation

data InternaliseM a Source #

Instances
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 #

MonadFail InternaliseM Source # 
Instance details

Defined in Futhark.Internalise.Monad

Methods

fail :: String -> 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 Lore InternaliseM :: Type Source #

MonadReader InternaliseEnv InternaliseM Source # 
Instance details

Defined in Futhark.Internalise.Monad

MonadError String 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 Lore 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.

type Closure = [VName] Source #

Extra parameters to pass when calling this function. This corresponds to the closure of a locally defined function.

addFunction :: FunDef -> InternaliseM () Source #

Add a function definition to the program being constructed.

asserting :: InternaliseM Certificates -> InternaliseM Certificates Source #

Execute the given action if envDoBoundsChecks is true, otherwise just return an empty list.

assertingOne :: InternaliseM VName -> InternaliseM Certificates Source #

Execute the given action if envDoBoundsChecks is true, otherwise just return an empty list.

Type Handling

Convenient reexports