|
Control.Concurrent.Chan | Portability | non-portable (concurrency). | Stability | experimental | Maintainer | libraries@haskell.org |
|
|
|
|
Contents |
- The Chan type
- Operations
- Stream interface
|
|
Description |
Unbounded channels.
|
|
Synopsis |
|
|
|
|
The Chan type |
|
data Chan a |
Chan is an abstract type representing an unbounded FIFO channel. |
|
|
Operations |
|
newChan :: IO (Chan a) |
Build and returns a new instance of Chan. |
|
writeChan :: Chan a -> a -> IO () |
Write a value to a Chan. |
|
readChan :: Chan a -> IO a |
Read the next value from the Chan. |
|
dupChan :: Chan a -> IO (Chan a) |
Duplicate a Chan: 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. |
|
unGetChan :: Chan a -> a -> IO () |
Put a data item back onto a channel, where it will be the next item read. |
|
isEmptyChan :: Chan a -> IO Bool |
Returns True if the supplied Chan is empty. |
|
Stream interface |
|
getChanContents :: Chan a -> IO [a] |
Return a lazy list representing the contents of the supplied
Chan, much like hGetContents. |
|
writeList2Chan :: Chan a -> [a] -> IO () |
Write an entire list of items to a Chan. |
|
Produced by Haddock version 0.4 |