|
Control.Concurrent.Chan | Portability | non-portable (concurrency) | Stability | experimental | Maintainer | libraries@haskell.org |
|
|
|
|
|
Description |
Unbounded channels.
|
|
Synopsis |
|
|
|
|
The Chan type
|
|
data Chan a |
Chan is an abstract type representing an unbounded FIFO channel.
| Instances | |
|
|
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.8 |