Package0.3.6ControlParallelismMonads
monad-par
A library for parallel programming based on a monad
- Version0.3.6
- CategoryControl, Parallelism, Monads
- LicenceBSD-3-Clause
- AuthorSimon Marlow, Ryan Newton
- MaintainerSimon Marlow <marlowsd@gmail.com>, Ryan Newton <rrnewton@gmail.com>
- Homepagegithub.com/simonmar/monad-par
- Pinned byhackage monad-par 0.3.6
- Sourcehackage.haskell.org/package/monad-par-0.3.6
Modules
6 modules- Control.Monad.Par21The monad-par package provides a family of Par monads, for
- Control.Monad.Par.IO3This module is an alternative version of Control.Monad.Par in
- Control.Monad.Par.Scheds.Direct19A scheduler for the Par monad based on directly performing IO
- Control.Monad.Par.Scheds.Sparks8This scheduler uses sparks (par/pseq) directly, but only supplies
- Control.Monad.Par.Scheds.Trace16This is the scheduler described in the paper "A Monad for
- Control.Monad.Par.Scheds.TraceInternal19This module exposes the internals of the Par monad so that you
Description
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
Depends on
10 packages- abstract-deque-0.3in this set
- abstract-par-0.3.3in this set
- array-0.5.8.0with GHC
- base-4.20.2.0with GHC
- containers-0.7with GHC
- deepseq-1.5.0.0with GHC
- monad-par-extras-0.3.3in this set
- mtl-2.3.1with GHC
- mwc-random-0.15.2.0in this set
- parallel-3.2.2.0in this set
Used by in this set · 0
Nothing in this set depends on it.