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!
-
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.
See examples in the "examples" directory for more details.
Here are some bioinformatics pipelines built with SciFlow.