ANN stm-chans 2.1 / 3.0
wren ng thornton
wren at freegeek.org
Thu May 30 20:43:39 CEST 2013
--------------------------------------------
-- stm-chans 2.1 / 3.0
--------------------------------------------
The stm-chans package offers a collection of channel types, similar to
Control.Concurrent.STM.{TChan,TQueue} but with additional features.
--------------------------------------------
-- Changes (since 2.0.0)
--------------------------------------------
By popular demand, the functions newBroadcastTMChan{,IO} have been
added. However, these rely on newBroadcastTChan{,IO} which are only
available in stm >= 2.4 and do not appear to be replicable using the
public API of stm < 2.4. Thus, the minimum version of stm is now 2.4,
which obviates all the compatibility modules.
Version 2.1.0 adds the new functions and issues deprecation warnings
about using the compatibility modules. This version is just to help
people transition. If you can use this version without warnings (i.e.,
you don't use the Compat modules directly) then you should be able to
use version 3.0 as well.
Version 3.0 removes the compatibility modules.
--------------------------------------------
-- 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.
--------------------------------------------
-- 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 Libraries
mailing list