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

Safe HaskellNone
LanguageHaskell2010

Futhark.Pipeline

Synopsis

Documentation

data Pipeline fromlore tolore Source #

Instances
Category Pipeline Source # 
Instance details

Defined in Futhark.Pipeline

Methods

id :: Pipeline a a #

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

data Action lore Source #

Constructors

Action 

data FutharkM a Source #

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

fail :: String -> 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.

onePass :: (Checkable fromlore, 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 #

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