BSD-3-Clause licensed
This version can be pinned in stack with:stm-2.5.0.0@sha256:1fb8bd117550d560d1b33a6404e27fdb090e70921e0f6434722cdbbce20d8256,2086
Module documentation for 2.5.0.0
ControlControl.Concurrent
Control.Monad
Used by 125 packages in
lts-18.6 (full list with versions ) :
Agda ,
alarmclock ,
amqp ,
arbor-lru-cache ,
async ,
async-pool ,
async-refresh ,
aura ,
brick ,
cache ,
chan ,
classy-prelude ,
co-log-concurrent ,
concurrency ,
concurrent-extra ,
concurrent-output ,
conduit-algorithms ,
conduit-extra ,
core-program ,
data-ref ,
deepseq-instances ,
di-core ,
di-monad ,
eventstore ,
every ,
exceptions ,
experimenter ,
flush-queue ,
fold-debounce ,
fold-debounce-conduit ,
gluturtle ,
greskell-websocket ,
hapistrano ,
haskeline ,
haskell-lsp ,
hasql-queue ,
hedgehog ,
hedis ,
hruby ,
hspec-core ,
and many more Software Transactional Memory, or STM, is an abstraction for
concurrent communication. The main benefits of STM are
composability and modularity . That is, using STM you can write
concurrent abstractions that can be easily composed with any other
abstraction built using STM, without exposing the details of how
your abstraction ensures safety. This is typically not the case
with other forms of concurrent communication, such as locks or
MVars.
2.5.0.0 Sep 2018
Removed alwaysSucceeds and always, GHC’s invariant checking primitives. (GHC #14324)
Add lengthTBQueue to Control.Concurrent.STM.TBQueue (gh-9)
Add stateTVar :: TVar s -> (s -> (a, s)) -> STM a combinator (gh-14)
Switched newTBQueue and newTBQueueIO to accept Natural as size (gh-17)
Switched signalTSemN and newTSem to accept Natural and Integer respectively (gh-17)
2.4.5.1 Sep 2018
2.4.5.0 Feb 2018
Fix space leak in TBQueue (gh-2, GHC#14494)
Make signalTSem resilient against Int overflows (gh-4)
Make definition of readTQueue consistent with readTBQueue (gh-3, GHC#9539)
Add flushTQueue to Control.Concurrent.STM.TQueue (gh-1)
Add flushTBQueue to Control.Concurrent.STM.TBQueue (gh-1)
Add signalTSemN operation (gh-5)
2.4.4.1 Dec 2015
2.4.4 Dec 2014
Add support for base-4.8.0.0
Tighten Safe Haskell bounds
Add mkWeakTMVar to Control.Concurrent.STM.TMVar
Add @since-annotations
2.4.3 Mar 2014
Update behaviour of newBroadcastTChanIO to match
newBroadcastTChan in causing an error on a read from the
broadcast channel
Add mkWeakTVar
Add isFullTBQueue
Fix TChan created via newBroadcastTChanIO to throw same
exception on a readTChan as when created via newBroadcastTChan
Update to Cabal 1.10 format
2.4.2 Nov 2012
Add Control.Concurrent.STM.TSem (transactional semaphore)
Add Applicative/Alternative instances of STM for GHC <7.0
Throw proper exception when readTChan called on a broadcast TChan
2.4 Jul 2012
Add Control.Concurrent.STM.TQueue (a faster TChan)
Add Control.Concurrent.STM.TBQueue (a bounded channel based on TQueue)
Add Eq instance for TChan
Add newBroadcastTChan and newBroadcastTChanIO
Some performance improvements for TChan
Add cloneTChan
Stackage is a service provided by the
Haskell Foundation
│ Originally developed by
FP Complete