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

Futhark.Pipeline

Synopsis

Documentation

data Pipeline fromlore tolore Source #

Instances

Instances details
Category Pipeline Source # 
Instance details

Defined in Futhark.Pipeline

Methods

id :: forall (a :: k). Pipeline a a #

(.) :: forall (b :: k) (c :: k) (a :: k). Pipeline b c -> Pipeline a b -> Pipeline a c #

data Action lore Source #

Constructors

Action 

data FutharkM a Source #

Instances

Instances details
Monad FutharkM Source # 
Instance details

Defined in Futhark.Pipeline

Methods

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

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

return :: a -> FutharkM a #

Functor FutharkM Source # 
Instance details

Defined in Futhark.Pipeline

Methods

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

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

Applicative FutharkM Source # 
Instance details

Defined in Futhark.Pipeline

Methods

pure :: a -> FutharkM a #

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

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

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

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

MonadIO FutharkM Source # 
Instance details

Defined in Futhark.Pipeline

Methods

liftIO :: IO a -> FutharkM a #

MonadLogger FutharkM Source # 
Instance details

Defined in Futhark.Pipeline

Methods

logMsg :: ToLog a => a -> FutharkM () Source #

addLog :: Log -> FutharkM () Source #

MonadFreshNames FutharkM Source # 
Instance details

Defined in Futhark.Pipeline

MonadError CompilerError FutharkM Source # 
Instance details

Defined in Futhark.Pipeline

data Verbosity Source #

If Verbose, print log messages to standard error. If VeryVerbose, also print logs from individual passes.

Instances

Instances details
Eq Verbosity Source # 
Instance details

Defined in Futhark.Pipeline

Ord Verbosity Source # 
Instance details

Defined in Futhark.Pipeline

onePass :: Checkable tolore => Pass fromlore tolore -> Pipeline fromlore tolore Source #

passes :: Checkable lore => [Pass lore lore] -> Pipeline lore lore Source #

runPasses :: Pipeline fromlore tolore -> PipelineConfig -> Prog fromlore -> FutharkM (Prog tolore) Source #