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

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 IVars. 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.

Modules