Package maintainers and Hackage trustees are allowed to edit certain bits
of package metadata after a release, without uploading a new tarball.
Note that the tarball itself is never changed, just the metadata that is
stored separately. For more information about metadata revisions, please
refer to the
Hackage Metadata Revisions FAQ.
No. |
Time |
User |
SHA256 |
-r2 (SciFlow-0.1.0-r2) |
2015-04-16T18:30:44Z |
kaizhang |
52e1139eb94d0223f664010e71f334a9c04a3e94c4bfbbd7c66069dc931242da
|
|
Changed description
from SciFlow is to help programmers design complex workflows
with ease.
Feature includes:
1. Use "labeled" arrows to connect individual steps
and cache computational results.
2. 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
>
> {-# LANGUAGE OverloadedStrings #-}
> 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
>
> {-# LANGUAGE TemplateHaskell #-}
> import Scientific.Workflow
> import MyModule
> import Data.Default
>
> -- assemble workflow using template haskell
> $(mkWorkflow "myWorkflow" builder)
>
> main = do result <- runWorkflow myWorkflow def
> print result
to SciFlow is to help programmers design complex workflows
with ease.
Feature includes:
1. Use "labeled" arrows to connect individual steps
and cache computational results.
2. 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
|
-r1 (SciFlow-0.1.0-r1) |
2015-04-16T18:16:16Z |
kaizhang |
de6af6e562537872300c51702cf413e4ef5ba8b5856bb2cd6095db0ec23bd22f
|
|
Changed description
from SciFlow is to help programmers design complex workflows
with ease.
Feature includes:
1. Use "labeled" arrows to connect individual steps
and cache computational results.
2. Use monad and template haskell to automate the process
of building DAGs.
to SciFlow is to help programmers design complex workflows
with ease.
Feature includes:
1. Use "labeled" arrows to connect individual steps
and cache computational results.
2. 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
>
> {-# LANGUAGE OverloadedStrings #-}
> 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
>
> {-# LANGUAGE TemplateHaskell #-}
> import Scientific.Workflow
> import MyModule
> import Data.Default
>
> -- assemble workflow using template haskell
> $(mkWorkflow "myWorkflow" builder)
>
> main = do result <- runWorkflow myWorkflow def
> print result
|
-r0 (SciFlow-0.1.0-r0) |
2015-04-16T17:55:39Z |
kaizhang |
63ebd7328c3750b27456a46c3f429926864712425e5b4d79e4c461d8a652ba6f
|
|
|