ghc-monad-par Haskell library for parallel programming based on a monad

The Par monad offers an 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.