monad-par: 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 thePar
monad.monad-par-extras
provides extra combinators and monad transformers layered on top of thePar
monad.
Changes in 0.3.4 relative to 0.3:
Fix bugs that cause "thread blocked indefinitely on MVar" crashes.
Added Control.Monad.Par.IO
Modules
- Control
- Monad
- Control.Monad.Par
- Control.Monad.Par.IO
- Scheds
- Control.Monad.Par.Scheds.Direct
- Control.Monad.Par.Scheds.Sparks
- Control.Monad.Par.Scheds.Trace
- Control.Monad.Par.Scheds.TraceInternal
- Control.Monad.Par
- Monad
Flags
Automatic Flags
Name | Description | Default |
---|---|---|
chaselev | Use Chase-Lev Deques for higher-perf work-stealing. | Disabled |
newgeneric | Provide instances for the new par-classes generic Par programming interface. | Disabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- monad-par-0.3.4.9.tar.gz [browse] (Cabal source package)
- Package description (revised from the package)
Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
Versions [RSS] | 0.1, 0.1.0.1, 0.1.0.2, 0.1.0.3, 0.3, 0.3.4, 0.3.4.1, 0.3.4.2, 0.3.4.3, 0.3.4.4, 0.3.4.5, 0.3.4.6, 0.3.4.7, 0.3.4.8, 0.3.4.9, 0.3.5, 0.3.6 (info) |
---|---|
Dependencies | abstract-deque (>=0.1.4), abstract-par, array (>=0.3), base (<0), chaselev-deque, containers, deepseq (>=1.1), monad-par-extras (>=0.3), mtl (>=2.0.1.0), mwc-random (>=0.11), par-classes, parallel (>=3.1) [details] |
License | BSD-3-Clause |
Copyright | (c) Simon Marlow 2011 |
Author | Simon Marlow, Ryan Newton |
Maintainer | Simon Marlow <marlowsd@gmail.com>, Ryan Newton <rrnewton@gmail.com> |
Revised | Revision 1 made by phadej at 2019-11-04T09:09:43Z |
Category | Control, Parallelism, Monads |
Home page | https://github.com/simonmar/monad-par |
Source repo | head: git clone https://github.com/simonmar/monad-par |
Uploaded | by SimonMarlow at 2019-11-04T08:16:51Z |
Distributions | Arch:0.3.6, Debian:0.3.5, Fedora:0.3.5, FreeBSD:0.3.4.7, LTSHaskell:0.3.6, NixOS:0.3.6, Stackage:0.3.6 |
Reverse Dependencies | 17 direct, 3701 indirect [details] |
Downloads | 68421 total (60 in the last 30 days) |
Rating | 2.25 (votes: 2) [estimated by Bayesian average] |
Your Rating | |
Status | Docs not available [build log] All reported builds failed as of 2019-11-04 [all 3 reports] |