Safe Haskell | Safe-Infered |
---|
This is the scheduler described in the paper A Monad for
Deterministic Parallelism. It is based on a lazy Trace
data
structure that separates the scheduler from the Par
monad
method implementations.
- data Par a
- runPar :: Par a -> a
- fork :: Par () -> Par ()
- data IVar a
- new :: Par (IVar a)
- newFull :: NFData a => a -> Par (IVar a)
- newFull_ :: a -> Par (IVar a)
- get :: IVar a -> Par a
- put :: NFData a => IVar a -> a -> Par ()
- put_ :: IVar a -> a -> Par ()
- spawn :: NFData a => Par a -> Par (IVar a)
- spawn_ :: Par a -> Par (IVar a)
- spawnP :: NFData a => a -> Par (IVar a)