@hackage / monad-par

A library for parallel programming based on a monad

Latest0.3.6

About

Metadata

  • Last updated , by OliverCharles
  • License BSD-3-Clause
  • Categories Parallelism, Monads
  • Maintained by: Simon Marlow <marlowsd@gmail.com>, Ryan Newton <rrnewton@gmail.com>

  • Lottery factor: 0

Links

Installation

Package Flags

Use the -f option with cabal commands to enable flags

    chaselev (off by default)

    Use Chase-Lev Deques for higher-perf work-stealing.

    newgeneric (off by default)

    Provide instances for the new par-classes generic Par programming interface.

Readme

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:

  • Fix bugs that cause "thread blocked indefinitely on MVar" crashes.

  • Added Control.Monad.Par.IO