A library for parallel programming based on a monad
The
Par monad offers a simple API for parallel programming. The
library works for parallelising both pure and
IO
computations, although only the pure version is deterministic. The
default implementation provides a work-stealing scheduler and supports
forking tasks that are much lighter weight than IO-threads.
For complete documentation see
Control.Monad.Par.
Some examples of use can be found in the
examples/ directory
of the source package.
Other related packages:
- abstract-par provides the type classes that abstract over
different implementations of the Par monad.
- monad-par-extras provides extra combinators and monad
transformers layered on top of the Par monad.
Changes in 0.3.4 relative to 0.3: