SciFlow: Scientific workflow management system
SciFlow is to help programmers design complex workflows with ease.
Feature includes:
Use "labeled" arrows to connect individual steps and cache computational results.
Use monad and template haskell to automate the process of building DAGs.
Here is a trivial example. Since we use template haskell, we need to divide this small program into two files.
-- File 1: MyModule.hs module MyModule where import Control.Arrow import Scientific.Workflow input :: Actor () Int input = arr $ const 10 plus1 :: Actor Int Int plus1 = arr (+1) mul2 :: Actor Int Int mul2 = arr (*2) combine :: Actor (Int, Int) Int combine = arr $ \(a,b) -> a + b -- builder monad builder :: Builder () builder = do node "id000" "input" "this is input" node "id001" "plus1" "add 1 to the input" node "id002" "mul2" "double the input" node "id003" "combine" "combine two input" "id000" ~> "id001" "id000" ~> "id002" link2 ("id001", "id002") "id003" -------------------------------------------- -- File 2: main.hs import Scientific.Workflow import MyModule import Data.Default -- assemble workflow using template haskell $(mkWorkflow "myWorkflow" builder) main = do result <- runWorkflow myWorkflow def print result
Modules
[Index]
Downloads
- SciFlow-0.1.0.tar.gz [browse] (Cabal source package)
- Package description (revised from the package)
Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
Versions [RSS] | 0.1.0, 0.2.0, 0.3.0, 0.4.0, 0.4.1, 0.5.0, 0.5.1, 0.5.3.1, 0.6.0, 0.6.1, 0.6.2, 0.7.0 |
---|---|
Dependencies | base (>=4.0 && <5.0), bytestring, data-default-class, mtl, shelly, template-haskell, text, unordered-containers (>=0.2), yaml [details] |
License | MIT |
Copyright | (c) 2015 Kai Zhang |
Author | Kai Zhang |
Maintainer | kai@kzhang.org |
Revised | Revision 2 made by kaizhang at 2015-04-16T18:30:44Z |
Category | Control |
Source repo | head: git clone https://github.com/kaizhang/SciFlow.git |
Uploaded | by kaizhang at 2015-04-16T17:55:39Z |
Distributions | |
Reverse Dependencies | 2 direct, 0 indirect [details] |
Downloads | 8635 total (14 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs available [build log] Last success reported on 2015-04-18 [all 1 reports] |