SciFlow-0.1.0: Scientific workflow management system

Safe HaskellNone
LanguageHaskell2010

Scientific.Workflow.Types

Synopsis

Documentation

data Workflow where Source

Constructors

Workflow :: IOProcessor () b -> Workflow 

newtype Processor m a b Source

labeled Arrow

Constructors

Processor 

Fields

runProcessor :: a -> m b
 

Instances

Monad m => Category * (Processor m) 
Monad m => Arrow (Processor m) 

type Label m l o = (l -> m (Maybe o), l -> o -> m ()) Source

Label is a pair of side effects

label :: (MonadTrans t, Monad m, Monad (t m)) => Label (t m) l b -> l -> Kleisli m a b -> Processor (t m) a b Source

Turn a Kleisli arrow into a labeled arrow

actor :: (a -> IO b) -> Actor a b Source

type Source i = IOProcessor () i Source

Source produce an output without taking inputs

zipS :: Source a -> Source b -> Source (a, b) Source

zip two sources

zipS3 :: Source a -> Source b -> Source c -> Source (a, b, c) Source

data Config Source

Constructors

Config 

Fields

_baseDir :: !FilePath
 

data WorkflowOpt Source

Constructors

WorkflowOpt 

Fields

_logDir :: !FilePath
 

Instances