Additional types of channels for STM.

Version on this page:
LTS Haskell 13.22:
Stackage Nightly 2019-05-23:
Latest on Hackage:

See all snapshots stm-chans appears in

BSD-3-Clause licensed by wren gayle romano, Thomas DuBuisson
Maintained by

Module documentation for

There are no documented modules for this package.


In general, this is a simple package and should be easy to install.
It does require GHC however, because it relies on the
Control.Concurrent.STM.TChan type which (for some unknown reason)
is GHC-only. With the cabal-install program you can just do:

$> cabal install stm-chans

Or if you don't have cabal-install, then you can use the Cabal

$> runhaskell Setup.hs configure
$> runhaskell Setup.hs build
$> runhaskell Setup.hs test
$> runhaskell Setup.hs haddock --hyperlink-source
$> runhaskell Setup.hs copy
$> runhaskell Setup.hs register

The test step is optional and currently does nothing. The Haddock
step is also optional.

----------------------------------------------------------- fin.

Changes (2015-05-30):
- Moved VERSION to CHANGELOG (2015-03-29):
- Cleaning up headers to compile cleanly with GHC 7.10
3.0.0 (2013-05-29):
- Removed the deprecated compatibility modules.

2.1.0 (2013-05-29):
- Added UNPACK pragmas everywhere to reduce indirections.
- Added versions of newBroadcastT*Chan for TMChan
- Deprecated all the compatibility stuff, since newBroadcastTChan requires stm >= 2.4 anyways.
2.0.0 (2013-05-12):
- Add TQueue support

1.3.1 (2012-02-29):
- Corrected the CPP macros now that stm-2.3 is released.
1.3.0 (2012-02-25):
- Added Control.Concurrent.STM.TMVar.Compat (2012-02-12):
- Change stability from experimental to provisional. (2012-02-12):
- Documentation fix for Control.Concurrent.STM.TMChan.writeTMChan (2011-05-07):
- Moved old TBChan,TBMChan implementations to ./test/bench/
1.2.0 (2011-05-07):
- Various optimizations.
- Switched to using 2 TVars in TBChan and TBMChan, reducing
contention between readers and writers and improving throughput
considerably (when multiple OS threads are used).
- Control.Concurrent.STM.TBChan: added estimateFreeSlotsTBChan,
- Control.Concurrent.STM.TBMChan: added estimateFreeSlotsTBMChan,
1.1.0 (2011-04-05):
- Control.Concurrent.STM.TBChan: added tryWriteTBChan
- Control.Concurrent.STM.TBMChan: added tryWriteTBMChan
1.0.0 (2011-04-03):
- Initial version forked from Posta-IPC.
- Added tryRead* and tryPeek* functions for the various channels.
comments powered byDisqus