stm-2.4.2: Software Transactional Memory

Portabilitynon-portable (requires STM)
Stabilityexperimental
Maintainerlibraries@haskell.org
Safe HaskellTrustworthy

Control.Monad.STM

Description

Software Transactional Memory: a modular composable concurrency abstraction. See

This module only defines the STM monad; you probably want to import Control.Concurrent.STM (which exports Control.Monad.STM).

Documentation

data STM a

Instances

Monad STM 
Functor STM 
Typeable1 STM 
MonadFix STM 
MonadPlus STM 
Applicative STM 
Alternative STM 
MArray TArray e STM 

atomically :: STM a -> IO a

always :: STM Bool -> STM ()

retry :: STM a

orElse :: STM a -> STM a -> STM a

check :: Bool -> STM ()Source

throwSTM :: Exception e => e -> STM a

catchSTM :: Exception e => STM a -> (e -> STM a) -> STM a