haskell
The 'Par' monad(s) offer 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: a @Par@ monad supports forking
and simple communication in terms of 'IVar's.
This module is an interface module only. It
provides a number of type clasess, but not an
implementation. The type classes separate different
levels of @Par@ functionality. See the
"Control.Monad.Par.Class" module for more details.
The 'monad-par' library is one example of a
concrete library providing this interface.
simonmar/monad-par