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-parprovides the type classes that abstract over different implementations of theParmonad.monad-par-extrasprovides extra combinators and monad transformers layered on top of theParmonad.
Changes in 0.3.4 relative to 0.3:
Fix bugs that cause "thread blocked indefinitely on MVar" crashes.
Added
Control.Monad.Par.IO