SciFlow-0.5.0: Scientific workflow management system

Safe HaskellNone
LanguageHaskell2010

Scientific.Workflow.Builder

Contents

Synopsis

Documentation

node Source #

Arguments

:: ToExpQ q 
=> PID

node id

-> q

function

-> State Attribute ()

Attribues

-> Builder () 

Declare a computational node. The function must have the signature: (DBData a, DBData b) => a -> IO b

link :: [PID] -> PID -> Builder () Source #

Declare a function that can be called on remote function :: ToExpQ q => T.Text -> q -> Builder () function funcName fn =

many-to-one generalized link function

(~>) :: [PID] -> PID -> Builder () Source #

(~>) = link.

path :: [PID] -> Builder () Source #

singleton

type Builder = State ([Node], [Edge]) Source #

buildWorkflow Source #

Arguments

:: String

prefix

-> Builder () 
-> Q [Dec] 

Build the workflow. This function will first create functions defined in the builder. These pieces will then be assembled to form a function that will execute each individual function in a correct order, named $prefix$_sciflow. Lastly, a function table will be created with the name $prefix$_function_table.

buildWorkflowPart Source #

Arguments

:: FilePath

path to the db

-> String 
-> Builder () 
-> Q [Dec] 

Build only a part of the workflow that has not been executed. This is used during development for fast compliation.

mkDAG :: Builder () -> DAG Source #

Contruct a DAG representing the workflow

Orphan instances

Lift Text Source # 

Methods

lift :: Text -> Q Exp #

Lift Attribute Source # 

Methods

lift :: Attribute -> Q Exp #

(Lift k0, Lift a0) => Lift (Map k0 a0) Source # 

Methods

lift :: Map k0 a0 -> Q Exp #

Lift (Gr (PID, Attribute) Int) Source # 

Methods

lift :: Gr (PID, Attribute) Int -> Q Exp #