monad-par-0.3.5: A library for parallel programming based on a monad

Safe Haskell | None
Language | Haskell98

Control.Monad.Par.Scheds.Sparks

Description

This scheduler uses sparks (par/pseq) directly, but only supplies the `Monad.Par.Class.ParFuture` interface.

Synopsis

- data Par a = Done a
- data Future a = Future a
- runPar :: Par a -> a
- get :: Future a -> Par a
- spawn :: NFData a => Par a -> Par (Future a)
- spawn_ :: Par a -> Par (Future a)
- spawnP :: NFData a => a -> Par (Future a)
- fixPar :: (a -> Par a) -> Par a

# Documentation

data Par a Source #

Constructors

Done a |

#### Instances

Instances details

Monad Par Source # |
Instance details Defined in Control.Monad.Par.Scheds.Sparks Methods (>>=) :: Par a -> (a -> Par b) -> Par b (>>) :: Par a -> Par b -> Par b return :: a -> Par a
Functor Par Source # |
Instance details Defined in Control.Monad.Par.Scheds.Sparks Methods fmap :: (a -> b) -> Par a -> Par b (<$) :: a -> Par b -> Par a
MonadFix Par Source # |
Instance details Defined in Control.Monad.Par.Scheds.Sparks Methods mfix :: (a -> Par a) -> Par a
Applicative Par Source # |
Instance details Defined in Control.Monad.Par.Scheds.Sparks Methods pure :: a -> Par a (<*>) :: Par (a -> b) -> Par a -> Par b liftA2 :: (a -> b -> c) -> Par a -> Par b -> Par c (*>) :: Par a -> Par b -> Par b (<*) :: Par a -> Par b -> Par a
ParFuture Future Par Source # |
Instance details Defined in Control.Monad.Par.Scheds.Sparks Methods spawn :: NFData a => Par a -> Par (Future a) Source # spawn_ :: Par a -> Par (Future a) Source # get :: Future a -> Par a Source # spawnP :: NFData a => a -> Par (Future a) Source #

data Future a Source #

Constructors

Future a |

#### Instances

Instances details

ParFuture Future Par Source # |
Instance details Defined in Control.Monad.Par.Scheds.Sparks Methods spawn :: NFData a => Par a -> Par (Future a) Source # spawn_ :: Par a -> Par (Future a) Source # get :: Future a -> Par a Source # spawnP :: NFData a => a -> Par (Future a) Source #

runPar :: Par a -> a Source #

get :: Future a -> Par a Source #

spawn :: NFData a => Par a -> Par (Future a) Source #

spawn_ :: Par a -> Par (Future a) Source #

spawnP :: NFData a => a -> Par (Future a) Source #

fixPar :: (a -> Par a) -> Par a Source #

Take the monadic fixpoint of a `Par` computation. This is the definition of `mfix` for `Par`.