io-classes
Safe HaskellNone
LanguageHaskell2010

Control.Concurrent.Class.MonadSTM.TMVar

Description

This module corresponds to TMVar in "stm" package

Synopsis

MonadSTM

type family TMVar (m :: Type -> Type) :: Type -> Type Source #

Instances

Instances details
type TMVar IO Source # 
Instance details

Defined in Control.Monad.Class.MonadSTM.Internal

type TMVar IO = TMVar
type TMVar (ReaderT r m) Source # 
Instance details

Defined in Control.Monad.Class.MonadSTM.Internal

type TMVar (ReaderT r m) = TMVar m

newTMVar :: MonadSTM m => a -> STM m (TMVar m a) Source #

newTMVarIO :: MonadSTM m => a -> m (TMVar m a) Source #

takeTMVar :: MonadSTM m => TMVar m a -> STM m a Source #

tryTakeTMVar :: MonadSTM m => TMVar m a -> STM m (Maybe a) Source #

putTMVar :: MonadSTM m => TMVar m a -> a -> STM m () Source #

tryPutTMVar :: MonadSTM m => TMVar m a -> a -> STM m Bool Source #

readTMVar :: MonadSTM m => TMVar m a -> STM m a Source #

tryReadTMVar :: MonadSTM m => TMVar m a -> STM m (Maybe a) Source #

swapTMVar :: MonadSTM m => TMVar m a -> a -> STM m a Source #

writeTMVar :: MonadSTM m => TMVar m a -> a -> STM m () Source #

MonadLabelledSTM

MonadTraceSTM

traceTMVar :: MonadTraceSTM m => proxy m -> TMVar m a -> (Maybe (Maybe a) -> Maybe a -> InspectMonad m TraceValue) -> STM m () Source #

debugTraceTMVar :: forall (m :: Type -> Type) a proxy. (MonadTraceSTM m, Show a) => proxy m -> TMVar m a -> STM m () Source #