|
| 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. |
|
|
| 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.6 |