Source codeContentsIndex
Control.Concurrent.TxEvent.CML.Full
Portabilitynon-portable (requires TxEvent)
Stabilityexperimental
Maintainermfluet@acm.org
Contents
TxEvent type
TxEvent combinators
Synchronous channels
Time delays
Description

Concurrent ML library.

This library provides first-class synchronous events in the style of CML (http://cml.cs.uchicago.edu/). This library implements the full CML interface, including the withNack combinator.

Synopsis
type Evt a = IO ([AckVar], Evt ([AckVar], IO a))
alwaysEvt :: a -> Evt a
wrapEvt :: Evt a -> (a -> IO b) -> Evt b
guardEvt :: IO (Evt a) -> Evt a
withNackEvt :: (Evt () -> IO (Evt a)) -> Evt a
neverEvt :: Evt a
chooseEvt :: Evt a -> Evt a -> Evt a
sync :: Evt a -> IO a
type SChan a = SChan a
newSChan :: IO (SChan a)
sendEvt :: SChan a -> a -> Evt ()
recvEvt :: SChan a -> Evt a
timeOutEvt :: Int -> Evt ()
TxEvent type
type Evt a = IO ([AckVar], Evt ([AckVar], IO a))
TxEvent combinators
alwaysEvt :: a -> Evt a
wrapEvt :: Evt a -> (a -> IO b) -> Evt b
guardEvt :: IO (Evt a) -> Evt a
withNackEvt :: (Evt () -> IO (Evt a)) -> Evt a
neverEvt :: Evt a
chooseEvt :: Evt a -> Evt a -> Evt a
sync :: Evt a -> IO a
Synchronous channels
type SChan a = SChan a
newSChan :: IO (SChan a)
sendEvt :: SChan a -> a -> Evt ()
recvEvt :: SChan a -> Evt a
Time delays
timeOutEvt :: Int -> Evt ()
Produced by Haddock version 0.7