[Haskell-cafe] ANN: stm-chans 2.0.0

wren ng thornton wren at freegeek.org
Mon May 13 06:35:17 CEST 2013


--------------------------------------------
-- stm-chans 2.0.0
--------------------------------------------

The stm-chans package offers a collection of channel types, similar to
Control.Concurrent.STM.{TChan,TQueue} but with additional features.


--------------------------------------------
-- Changes (since 1.3.1)
--------------------------------------------

* (by kudah) Added TMQueue and TBMQueue, which are like the corresponding
T*Chans except using the new T*Queue data types in stm >= 2.4. We use CPP
to provide compatibility shims for older versions of stm.


--------------------------------------------
-- Long description
--------------------------------------------

In particular stm-chans offers the following data types:


* Control.Concurrent.STM.TBChan:  Bounded FIFO channels.

    When the channel is full, writers will block/retry. This ensures that
the writers do not get too far ahead of the readers, which helps to
make sure that memory and cpu resources are used responsibly.


* Control.Concurrent.STM.TMChan:   Closeable FIFO channels.
* Control.Concurrent.STM.TMQueue:  Closeable FIFO queues.

    Like TChan (Maybe a) but with a monotonicity guarantee that once
Nothing is returned all future reads will be Nothing as well.


* Control.Concurrent.STM.TBMChan:  Bounded Closeable FIFO channels.
* Control.Concurrent.STM.TBMQueue: Bounded Closeable FIFO queues.

    Combines the capabilities of TBChan and TMChan.


In addition, the stm-chans package offers a (partial) compatibility layer
for various changes to the stm package. These include backwards
compatibility for the T*Queue types, as well as various API improvements
(see ticket #5104 [1]).

[1] http://hackage.haskell.org/trac/ghc/ticket/5104


--------------------------------------------
-- Links
--------------------------------------------

Homepage:
    http://code.haskell.org/~wren/

Hackage:
    http://hackage.haskell.org/package/stm-chans

Darcs:
    http://community.haskell.org/~wren/stm-chans

Haddock (Darcs version):
    http://community.haskell.org/~wren/stm-chans/dist/doc/html/stm-chans

-- 
Live well,
~wren




More information about the Haskell-Cafe mailing list