Changelog for stm
package
- Drop unused testcase inadvertently introduced in previous reversion
- Revert array-based reimplementation of
TBQueue
due to #76
- Eliminate reliance on undefined CPP behavior (#75)
- 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#
forTArray
(#66)
- Teach
flushTBQueue
to only flush queue when necessary - Introduce
Control.Concurrent.STM.TMVar.writeTMVar
- Add
Semigroup
andMonoid
instances forSTM
-
Fix non-exhaustive patterns warning (#49)
-
Document particulars of effect-rollback of
Control.Monad.STM.throwSTM
(#32)
- Optimise implementation of
peekTQueue
andpeekTBQueue
to reduce probability of transaction conflicts.
-
Removed
alwaysSucceeds
andalways
, GHC's invariant checking primitives. (GHC #14324) -
Add
lengthTBQueue
toControl.Concurrent.STM.TBQueue
(gh-9) -
Add
stateTVar :: TVar s -> (s -> (a, s)) -> STM a
combinator (gh-14) -
Switched
newTBQueue
andnewTBQueueIO
to acceptNatural
as size (gh-17) -
Switched
signalTSemN
andnewTSem
to acceptNatural
andInteger
respectively (gh-17)
-
Fix incorrect bookkeeping of write capacity in
flushTBQueue
(gh-9) -
Avoid redundant
writeTVar
s influshTQueue
to avoid unnecessarily invalidating other transactions (gh-6)
-
Fix space leak in
TBQueue
(gh-2, GHC#14494) -
Make
signalTSem
resilient againstInt
overflows (gh-4) -
Make definition of
readTQueue
consistent withreadTBQueue
(gh-3, GHC#9539) -
Add
flushTQueue
toControl.Concurrent.STM.TQueue
(gh-1) -
Add
flushTBQueue
toControl.Concurrent.STM.TBQueue
(gh-1) -
Add
signalTSemN
operation (gh-5)
-
Add support for
base-4.9.0.0
-
Drop support for GHC 6.12 /
base-4.2
-
Add support for
base-4.8.0.0
-
Tighten Safe Haskell bounds
-
Add
mkWeakTMVar
toControl.Concurrent.STM.TMVar
-
Add
@since
-annotations
-
Update behaviour of
newBroadcastTChanIO
to matchnewBroadcastTChan
in causing an error on a read from the broadcast channel -
Add
mkWeakTVar
-
Add
isFullTBQueue
-
Fix
TChan
created vianewBroadcastTChanIO
to throw same exception on areadTChan
as when created vianewBroadcastTChan
-
Update to Cabal 1.10 format
-
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 broadcastTChan
-
Add
Control.Concurrent.STM.TQueue
(a fasterTChan
) -
Add
Control.Concurrent.STM.TBQueue
(a bounded channel based onTQueue
) -
Add
Eq
instance forTChan
-
Add
newBroadcastTChan
andnewBroadcastTChanIO
-
Some performance improvements for
TChan
-
Add
cloneTChan