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), 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 Mon Jul 22 09:14:57 UTC 2013 by SimonMarlow
Distributions Arch:, Debian:, FreeBSD:, LTSHaskell:, NixOS:, Stackage:, Tumbleweed:
Downloads 23247 total (43 in the last 30 days)
1 []
Status Docs uploaded by user
Build status unknown [no reports yet]




chaselevUse Chase-Lev Deques for higher-perf work-stealing.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