monad-par: A library for parallel programming based on a monad

[ bsd3, control, library, monads, parallelism ] [ Propose Tags ]

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 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:

Flags

Automatic Flags
NameDescriptionDefault
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

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

Package maintainers

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 (>=4.9 && <5), 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 OliverCharles at 2023-10-02T15:35:49Z
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 OliverCharles at 2023-09-28T15:17:19Z
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, 3690 indirect [details]
Downloads 68297 total (139 in the last 30 days)
Rating 2.25 (votes: 2) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2023-09-28 [all 1 reports]