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

Synopsis

Documentation

data Par a Source #

Constructors

Done a 
Instances
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 #

fail :: String -> 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) #

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 # 
Instance details

Defined in Control.Monad.Par.Scheds.Sparks

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 #

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

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