MonadSTM is an abstraction over STM.
This class does not provide any way to run transactions, rather
each MonadConc has an associated MonadSTM from which it can
atomically run a transaction.
Associated types
Methods
newTVar :: a -> stm (TVar stm a)Create a new
TVarcontaining the given value.newTVar = newTVarN ""newTVarN :: String -> a -> stm (TVar stm a)Create a new
TVarcontaining the given value, but it is given a name which may be used to present more useful debugging information.If an empty name is given, a counter starting from 0 is used. If names conflict, successive
TVars with the same name are given a numeric suffix, counting up from 1.newTVarN _ = newTVarreadTVar :: TVar stm a -> stm aReturn the current value stored in a
TVar.writeTVar :: TVar stm a -> a -> stm ()Write the supplied value into the
TVar.
Instances10MonadSTM, …
MonadSTM STMDefined in concurrency-1.11.0.3 · Control.Monad.STM.ClassMonadSTM m => MonadSTM (IsSTM m)Defined in concurrency-1.11.0.3 · Control.Monad.STM.ClassMonadSTM stm => MonadSTM (IdentityT stm)Defined in concurrency-1.11.0.3 · Control.Monad.STM.ClassMonadSTM stm => MonadSTM (ReaderT r stm)Defined in concurrency-1.11.0.3 · Control.Monad.STM.ClassMonadSTM stm => MonadSTM (StateT s stm)Defined in concurrency-1.11.0.3 · Control.Monad.STM.ClassMonadSTM stm => MonadSTM (StateT s stm)Defined in concurrency-1.11.0.3 · Control.Monad.STM.Class(MonadSTM stm, Monoid w) => MonadSTM (WriterT w stm)Defined in concurrency-1.11.0.3 · Control.Monad.STM.Class(MonadSTM stm, Monoid w) => MonadSTM (WriterT w stm)Defined in concurrency-1.11.0.3 · Control.Monad.STM.Class(MonadSTM stm, Monoid w) => MonadSTM (RWST r w s stm)Defined in concurrency-1.11.0.3 · Control.Monad.STM.Class(MonadSTM stm, Monoid w) => MonadSTM (RWST r w s stm)Defined in concurrency-1.11.0.3 · Control.Monad.STM.Class