BSD-3-Clause licensed
This version can be pinned in stack with:stm-2.5.3.1@sha256:b93121e5fb0939cb7120322763079b425bab097e049abb35580ecb6ab6abccbe,2356
Module documentation for 2.5.3.1
- Control
- Control.Concurrent
- Control.Monad
Used by 150 packages in
nightly-2024-12-21(full list with versions):
acid-state,
advent-of-code-api,
Agda,
alarmclock,
alternators,
amqp,
async,
async-pool,
async-refresh,
auto-update,
blank-canvas,
box,
brick,
cache,
caster,
chan,
classy-prelude,
concurrency,
concurrent-extra,
concurrent-output,
conduit-algorithms,
conduit-extra,
core-program,
core-telemetry,
data-ref,
di-core,
di-df1,
di-monad,
distributed-process,
distributed-process-async,
distributed-process-client-server,
distributed-process-execution,
distributed-process-extras,
distributed-process-systest,
distributed-process-tests,
effectful,
every,
exceptions,
fast-logger,
filecache,
and many more
2.5.3.1 November 2023
- Drop unused testcase inadvertently introduced in previous reversion
2.5.3.0 November 2023
- Revert array-based reimplementation of
TBQueue
due to #76
2.5.2.1 September 2023
- Eliminate reliance on undefined CPP behavior (#75)
2.5.2.0 September 2023
- Fix strictness of
stateTVar
(#30)
- Rewrite
TBQueue
to use a more-efficient array-based representation (#65)
newTBQueue 0
now fails as one would expect (#28)
- Add
capacityTBQueue
(#61)
- Add
MArray TArray e IO
instance
- Use unlifted
Array#
for TArray
(#66)
2.5.1.0 Aug 2022
- Teach
flushTBQueue
to only flush queue when necessary
- Introduce
Control.Concurrent.STM.TMVar.writeTMVar
- Add
Semigroup
and Monoid
instances for STM
2.5.0.2 Dec 2021
2.5.0.1 May 2020
- Optimise implementation of
peekTQueue
and peekTBQueue
to reduce
probability of transaction conflicts.
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