The monad-par package

[Tags:bsd3, library, test]

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:

Changes in 0.3.4 relative to 0.3:


Versions 0.1,,,, 0.3, 0.3.4,,,,,,,,
Dependencies abstract-deque (>=0.1.4), abstract-par, array (>=0.3), base (==4.*), chaselev-deque, containers, deepseq (>=1.1), monad-par-extras (>=0.3), mtl (>=, mwc-random (>=0.11), par-classes, parallel (>=3.1) [details]
License BSD3
Copyright (c) Simon Marlow 2011
Author Simon Marlow, Ryan Newton
Maintainer Simon Marlow <>, Ryan Newton <>
Stability Experimental
Category Control, Parallelism, Monads
Home page
Uploaded Thu Dec 12 23:12:56 UTC 2013 by RyanNewton
Distributions Arch:, Debian:, FreeBSD:, LTSHaskell:, NixOS:, Stackage:, Tumbleweed:
Downloads 23475 total (29 in the last 30 days)
1 []
Status Docs available [build log]
Successful builds reported [all 1 reports]




chaselevUse Chase-Lev Deques for higher-perf work-stealing.DisabledAutomatic
newgenericProvide instances for the new par-classes generic Par programming interface.DisabledAutomatic

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainer's Corner

For package maintainers and hackage trustees