| Copyright | (c) The University of Glasgow 2001 | 
|---|---|
| License | BSD-style (see the file libraries/base/LICENSE) | 
| Maintainer | libraries@haskell.org | 
| Stability | experimental | 
| Portability | non-portable (concurrency) | 
| Safe Haskell | Trustworthy | 
| Language | Haskell2010 | 
Control.Concurrent.Chan
Description
Unbounded channels.
The Chan type
Chan is an abstract type representing an unbounded FIFO channel.
Operations
dupChan :: Chan a -> IO (Chan a) Source
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.
(Note that a duplicated channel is not equal to its original.
 So: fmap (c /=) $ dupChan c returns True for all c.)
unGetChan :: Chan a -> a -> IO () Source
Deprecated: if you need this operation, use Control.Concurrent.STM.TChan instead. See http://ghc.haskell.org/trac/ghc/ticket/4154 for details
Put a data item back onto a channel, where it will be the next item read.
isEmptyChan :: Chan a -> IO Bool Source
Deprecated: if you need this operation, use Control.Concurrent.STM.TChan instead. See http://ghc.haskell.org/trac/ghc/ticket/4154 for details
Stream interface
getChanContents :: Chan a -> IO [a] Source
Return a lazy list representing the contents of the supplied
 Chan, much like hGetContents.
writeList2Chan :: Chan a -> [a] -> IO () Source
Write an entire list of items to a Chan.