monad-par-0.3.4.8: 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.

# Documentation

data Par a Source #

Constructors

Done a |

Instances

Monad Par Source # |
Methods (>>=) :: Par a -> (a -> Par b) -> Par b # (>>) :: Par a -> Par b -> Par b # return :: a -> Par a # fail :: String -> Par a #
Functor Par Source # |
Methods fmap :: (a -> b) -> Par a -> Par b # (<$) :: a -> Par b -> Par a #
Applicative Par Source # |
Methods pure :: a -> Par a # (<*>) :: Par (a -> b) -> Par a -> Par b # (*>) :: Par a -> Par b -> Par b # (<*) :: Par a -> Par b -> Par a #
ParFuture Future Par Source # |
Methods spawn :: NFData a => Par a -> Par (Future a) # spawn_ :: Par a -> Par (Future a) # get :: Future a -> Par a # spawnP :: NFData a => a -> Par (Future a) #

data Future a Source #

Constructors

Future a |

Instances

ParFuture Future Par Source # |
Methods spawn :: NFData a => Par a -> Par (Future a) # spawn_ :: Par a -> Par (Future a) # get :: Future a -> Par a # spawnP :: NFData a => a -> Par (Future a) #

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 #