monad-par-0.3: A library for parallel programming based on a monad
This library offers an alternative parallel programming
API to that provided by the parallel
package.
A Par
monad allows the simple description of
parallel computations, and can be used to add
parallelism to pure Haskell code. The basic API
is straightforward: the monad supports forking
and simple communication in terms of IVar
s.
The library comes with a work-stealing
implementation, but the internals are also
exposed so that you can build your own scheduler
if necessary.
Examples of use can be found in the examples/ directory
of the source package.
The modules below provide additionaly schedulers,
data structures, and other added capabilities
layered on top of the Par
monad.