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

Safe HaskellNone
LanguageHaskell98

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 #

Constructors

Done a 

Instances

Monad Par # 

Methods

(>>=) :: Par a -> (a -> Par b) -> Par b #

(>>) :: Par a -> Par b -> Par b #

return :: a -> Par a #

fail :: String -> Par a #

Functor Par # 

Methods

fmap :: (a -> b) -> Par a -> Par b #

(<$) :: a -> Par b -> Par a #

Applicative Par # 

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 # 

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 #

Constructors

Future a 

Instances

ParFuture Future Par # 

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 #

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) #