IOSpec-0.2.1: A pure specification of the IO monad.Source codeContentsIndex
Test.IOSpec.MVar
Contents
The MVarS spec
Supported functions
Description
A pure specification of basic operations on MVars.
Synopsis
data MVarS a
data MVar a
newEmptyMVar :: (Typeable a, MVarS :<: f) => IOSpec f (MVar a)
takeMVar :: (Typeable a, MVarS :<: f) => MVar a -> IOSpec f a
putMVar :: (Typeable a, MVarS :<: f) => MVar a -> a -> IOSpec f ()
The MVarS spec
data MVarS a Source

An expression of type IOSpec MVarS a corresponds to an IO computation that uses shared, mutable variables and returns a value of type a.

By itself, MVarS is not terribly useful. You will probably want to use IOSpec (ForkS :+: MVarS).

show/hide Instances
Supported functions
data MVar a Source
An MVar is a shared, mutable variable.
show/hide Instances
newEmptyMVar :: (Typeable a, MVarS :<: f) => IOSpec f (MVar a)Source
The newEmptyMVar function creates a new MVar that is initially empty.
takeMVar :: (Typeable a, MVarS :<: f) => MVar a -> IOSpec f aSource
The takeMVar function removes the value stored in an MVar. If the MVar is empty, the thread is blocked.
putMVar :: (Typeable a, MVarS :<: f) => MVar a -> a -> IOSpec f ()Source
The putMVar function fills an MVar with a new value. If the MVar is not empty, the thread is blocked.
Produced by Haddock version 2.4.2