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 115 packages in
lts-16.11 (full list with versions ) :
advent-of-code-api ,
alarmclock ,
amqp ,
arbor-lru-cache ,
async ,
async-refresh ,
aura ,
avers ,
brick ,
bugsnag-hs ,
cache ,
chan ,
classy-prelude ,
co-log ,
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 ,
filecache ,
flush-queue ,
fold-debounce ,
fold-debounce-conduit ,
gluturtle ,
greskell-websocket ,
hapistrano ,
haskeline ,
haskell-lsp ,
hedgehog ,
hedis ,
hruby ,
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
MVar
s.
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