stm

Software Transactional Memory

Version on this page:2.4.4
LTS Haskell 23.0:2.5.3.1
Stackage Nightly 2024-12-09:2.5.3.1
Latest on Hackage:2.5.3.1

See all snapshots stm appears in

BSD-3-Clause licensed
Maintained by [email protected]
This version can be pinned in stack with:stm-2.4.4@sha256:a9ed5dacf08d2285707e4a413dcd0b09f28583a99833a3af60618dd1b01416c7,1561

Module documentation for 2.4.4

  • Control
    • Control.Concurrent
      • Control.Concurrent.STM
        • Control.Concurrent.STM.TArray
        • Control.Concurrent.STM.TBQueue
        • Control.Concurrent.STM.TChan
        • Control.Concurrent.STM.TMVar
        • Control.Concurrent.STM.TQueue
        • Control.Concurrent.STM.TSem
        • Control.Concurrent.STM.TVar
    • Control.Monad
      • Control.Monad.STM

A modular composable concurrency abstraction.

Changes

Changelog for stm package

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