SciFlow alternatives and similar packages
Based on the "Control" category.
Alternatively, view SciFlow alternatives based on common mentions on social networks and blogs.
-
transient
A full stack, reactive architecture for general purpose programming. Algebraic and monadically composable primitives for concurrency, parallelism, event handling, transactions, multithreading, Web, and distributed computing with complete de-inversion of control (No callbacks, no blocking, pure state) -
distributed-closure
Serializable closures for distributed programming. -
classy-prelude-yesod
Type classes for mapping, folding, and traversing monomorphic containers -
extensible-effects
Extensible Effects: An Alternative to Monad Transformers -
classy-prelude
Type classes for mapping, folding, and traversing monomorphic containers -
auto
Haskell DSL and platform providing denotational, compositional api for discrete-step, locally stateful, interactive programs, games & automations. http://hackage.haskell.org/package/auto -
selective
Selective Applicative Functors: Declare Your Effects Statically, Select Which to Execute Dynamically -
ComonadSheet
A library for expressing "spreadsheet-like" computations with absolute and relative references, using fixed-points of n-dimensional comonads. -
abstract-par
Type classes generalizing the functionality of the 'monad-par' library. -
hask
Category theory for Haskell with a lens flavor (you need GHC 7.8.3, not 7.8.2 to build this!) -
these
An either-or-both data type, with corresponding hybrid error/writer monad transformer. -
transient-universe
A Cloud monad based on transient for the creation of Web and reactive distributed applications that are fully composable, where Web browsers are first class nodes in the cloud -
cloud-haskell
This is an umbrella development repository for Cloud Haskell -
distributed-fork
A distributed data processing framework in Haskell. -
distributed-process-platform
DEPRECATED (Cloud Haskell Platform) in favor of distributed-process-extras, distributed-process-async, distributed-process-client-server, distributed-process-registry, distributed-process-supervisor, distributed-process-task and distributed-process-execution -
monad-validate
(NOTE: REPOSITORY MOVED TO NEW OWNER: https://github.com/lexi-lambda/monad-validate) A Haskell monad transformer library for data validation -
monad-control
Lift control operations, like exception catching, through monad transformers -
ixmonad
Provides 'graded monads' and 'parameterised monads' to Haskell, enabling fine-grained reasoning about effects. -
freer-effects
An implementation of "Freer Monads, More Extensible Effects". -
effect-monad
Provides 'graded monads' and 'parameterised monads' to Haskell, enabling fine-grained reasoning about effects. -
operational
Implement monads by specifying instructions and their desired operational semantics. -
monad-time
Type class for monads which carry the notion of the current time.
Static code analysis for 29 languages.
Do you think we are missing an alternative of SciFlow or a related project?
README
Scientific workflow management system
SciFlow is a DSL for building type-safe computational workflows. SciFlow is implemented based on the Free Arrow and is heavily inspired by the funflow package. The differences between SciFlow and funflow are:
SciFlow uses Template Haskell to ease the process of workflow specification and to allow composition and reuse of defined workflows.
SciFlow supports distributed computing thanks to Cloud Haskell!
[Design](design.png)
Features
Easy to use and safe: Provide a simple and flexible way to design type safe computational pipelines in Haskell.
Automatic Checkpointing: The states of intermediate steps are automatically logged, allowing easy restart upon failures.
Parallelism and distributed computing support.
Examples
See examples in the "examples" directory for more details.
Featured applications
Here are some bioinformatics pipelines built with SciFlow.