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
For complete documentation see "Control.Monad.Par".
Some examples of use can be found in the 'examples/' directory of the source
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: