stm- Software Transactional MemorySource codeContentsIndex
Portabilitynon-portable (requires STM)
TChan: Transactional channels (GHC only)
data TChan a
newTChan :: STM (TChan a)
newTChanIO :: IO (TChan a)
readTChan :: TChan a -> STM a
writeTChan :: TChan a -> a -> STM ()
dupTChan :: TChan a -> STM (TChan a)
unGetTChan :: TChan a -> a -> STM ()
isEmptyTChan :: TChan a -> STM Bool
data TChan a Source
TChan is an abstract type representing an unbounded FIFO channel.
newTChan :: STM (TChan a)Source
Build and returns a new instance of TChan
newTChanIO :: IO (TChan a)Source
IO version of newTChan. This is useful for creating top-level TChans using System.IO.Unsafe.unsafePerformIO, because using atomically inside System.IO.Unsafe.unsafePerformIO isn't possible.
readTChan :: TChan a -> STM aSource
Read the next value from the TChan.
writeTChan :: TChan a -> a -> STM ()Source
Write a value to a TChan.
dupTChan :: TChan a -> STM (TChan a)Source
Duplicate a TChan: the duplicate channel begins empty, but data written to either channel from then on will be available from both. Hence this creates a kind of broadcast channel, where data written by anyone is seen by everyone else.
unGetTChan :: TChan a -> a -> STM ()Source
Put a data item back onto a channel, where it will be the next item read.
isEmptyTChan :: TChan a -> STM BoolSource
Returns True if the supplied TChan is empty.
Produced by Haddock version 2.4.2