Chan

data Chan a
base Control.Concurrent.Chan
Chan is an abstract type representing an unbounded FIFO channel.
module Control.Concurrent.Chan
base Control.Concurrent.Chan
Unbounded channels.
package chan-split
package
An implementation of concurrent channels identical to Control.Concurrent.Chan, except that the channel is represented as a pair, one of which allows only read operations, the other write operations. This makes code easier to reason about (the types strictly delegate read/write permission), suggests useful instances (e.g.  Functor and Contravariant are easily defined) on the chan pairs, and simplifies the API. Furthermore this allows messages sent to channels with no readers to be trivially garbage-collected, without relying on inlining optimizations. We also provide a module that defines a class SplitChan which defines the basic methods any pair of Chan types should provide, allowing easy swapping of Chan implementations. To use standard Chans with these polymorphic functions, import as follows: > import Control.Concurrent.Chan hiding (readChan,writeChan,writeList2Chan) > import Control.Concurrent.Chan.Class When used alongside standard Chans, the Split module can be imported qualified like: > import qualified Control.Concurrent.Chan.Split as S Its interface is mostly backwards compatible with Chan. Note, we do not implement the deprecated unGetChan and isEmptyChan functions. This module is used internally by the "simple-actors" package. CHANGES: 0.4.0 -> 0.5.0 * modify TChan v2.4 code into split version * depend on STM * clean up Extensions section and broken links Version 0.5.0
package change-monger
package
change-monger is intended to allow you to extract the revision history from various VCSes like Darcs, and save them as a ChangeLog; particularly important is being able to extract the summaries for all patches since the last release. Version 0.0
class CHANGEATTRS a
xhtml Text.XHtml.Strict, xhtml Text.XHtml.Frameset, xhtml Text.XHtml.Transitional
CHANGEATTRS is a more expressive alternative to ADDATTRS
changeAttrs :: CHANGEATTRS a => a -> ([HtmlAttr] -> [HtmlAttr]) -> a
xhtml Text.XHtml.Strict, xhtml Text.XHtml.Frameset, xhtml Text.XHtml.Transitional
changeWorkingDirectory :: FilePath -> IO ()
unix System.Posix.Directory
changeWorkingDirectory dir calls chdir to change the current working directory to dir.
changeWorkingDirectory :: RawFilePath -> IO ()
unix System.Posix.Directory.ByteString
changeWorkingDirectory dir calls chdir to change the current working directory to dir.
changeWorkingDirectoryFd :: Fd -> IO ()
unix System.Posix.Directory.ByteString, unix System.Posix.Directory
dupChan :: Chan a -> IO (Chan a)
base Control.Concurrent.Chan
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, anyone is seen by everyone else.
getChanContents :: Chan a -> IO [a]
base Control.Concurrent.Chan
Return a lazy list representing the contents of the supplied Chan, much like System.IO.hGetContents.
isEmptyChan :: Chan a -> IO Bool
base Control.Concurrent.Chan
Returns True if the supplied Chan is empty.
newChan :: IO (Chan a)
base Control.Concurrent.Chan
Build and returns a new instance of Chan.
readChan :: Chan a -> IO a
base Control.Concurrent.Chan
Read the next value from the Chan.
unGetChan :: Chan a -> a -> IO ()
base Control.Concurrent.Chan
Put a data item back onto a channel, read.
writeChan :: Chan a -> a -> IO ()
base Control.Concurrent.Chan
Write a value to a Chan.
writeList2Chan :: Chan a -> [a] -> IO ()
base Control.Concurrent.Chan
Write an entire list of items to a Chan.
package adobe-swatch-exchange
package
package bounded-tchan
package
Bounded TChan's, or BTChan's, are a transactional queue with a limit to the number of elements (further calls to writeBTChan or unGetBTChan call STM retry).  Users are strongly encouraged to consider using the more complete 'stm-chans' packages, which includes a bounded TChan designed on this package. Version 0.2.3
package BoundedChan
package
This library introduces BoundedChan. BoundedChans differ from Chans in that they are guaranteed to contain no more than a certain number of elements. Version 1.0.1.0

Show more results