Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data Workflow where
- Workflow :: IOProcessor () b -> Workflow
- newtype Processor m a b = Processor {
- runProcessor :: a -> m b
- type Label m l o = (l -> m (Maybe o), l -> o -> m ())
- label :: (MonadTrans t, Monad m, Monad (t m)) => Label (t m) l b -> l -> Kleisli m a b -> Processor (t m) a b
- type IOProcessor = Processor (ReaderT Config IO)
- type Actor = Kleisli IO
- actor :: (a -> IO b) -> Actor a b
- type Source i = IOProcessor () i
- proc :: Serializable b => String -> Kleisli IO a b -> IOProcessor a b
- source :: Serializable o => String -> o -> Source o
- recover :: Serializable a => String -> ReaderT Config IO (Maybe a)
- save :: Serializable a => String -> a -> ReaderT Config IO ()
- fileExist :: FilePath -> IO Bool
- zipS :: Source a -> Source b -> Source (a, b)
- zipS3 :: Source a -> Source b -> Source c -> Source (a, b, c)
- data Config = Config {}
- data WorkflowOpt = WorkflowOpt {}
Documentation
Workflow :: IOProcessor () b -> Workflow |
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
type Source i = IOProcessor () i Source
Source produce an output without taking inputs
proc :: Serializable b => String -> Kleisli IO a b -> IOProcessor a b Source
source :: Serializable o => String -> o -> Source o Source