monad-var-0.2.2.0: Generic operations over variables
Safe HaskellSafe-Inferred
LanguageHaskell2010

MonadVar.Instances.TMVar

Orphan instances

MonadMutate IO TMVar Source # 
Instance details

Methods

mutate :: TMVar a -> (a -> (a, b)) -> IO b Source #

MonadMutate STM TMVar Source # 
Instance details

Methods

mutate :: TMVar a -> (a -> (a, b)) -> STM b Source #

MonadMutate_ IO TMVar Source # 
Instance details

Methods

mutate_ :: TMVar a -> (a -> a) -> IO () Source #

MonadMutate_ STM TMVar Source # 
Instance details

Methods

mutate_ :: TMVar a -> (a -> a) -> STM () Source #

MonadSwap IO TMVar Source # 
Instance details

Methods

swap :: TMVar a -> a -> IO a Source #

MonadSwap STM TMVar Source # 
Instance details

Methods

swap :: TMVar a -> a -> STM a Source #

MonadWrite IO TMVar Source # 
Instance details

Methods

write :: TMVar a -> a -> IO () Source #

MonadWrite STM TMVar Source # 
Instance details

Methods

write :: TMVar a -> a -> STM () Source #

MonadRead IO TMVar Source # 
Instance details

Methods

read :: TMVar a -> IO a Source #

MonadRead STM TMVar Source # 
Instance details

Methods

read :: TMVar a -> STM a Source #

MonadLock IO TMVar Source # 
Instance details

Methods

hold :: TMVar a -> IO a Source #

fill :: TMVar a -> a -> IO () Source #

tryHold :: TMVar a -> IO (Maybe a) Source #

tryFill :: TMVar a -> a -> IO Bool Source #

tryRead :: TMVar a -> IO (Maybe a) Source #

newEmpty :: IO (TMVar a) Source #

isEmpty :: TMVar a -> IO Bool Source #

MonadLock STM TMVar Source # 
Instance details

Methods

hold :: TMVar a -> STM a Source #

fill :: TMVar a -> a -> STM () Source #

tryHold :: TMVar a -> STM (Maybe a) Source #

tryFill :: TMVar a -> a -> STM Bool Source #

tryRead :: TMVar a -> STM (Maybe a) Source #

newEmpty :: STM (TMVar a) Source #

isEmpty :: TMVar a -> STM Bool Source #

MonadNew IO TMVar Source # 
Instance details

Methods

new :: a -> IO (TMVar a) Source #

MonadNew STM TMVar Source # 
Instance details

Methods

new :: a -> STM (TMVar a) Source #

MonadMutateM IO IO TMVar Source # 
Instance details

Methods

mutateM :: TMVar a -> (a -> IO (a, b)) -> IO b Source #

STM ~ stm => MonadMutateM stm STM TMVar Source # 
Instance details

Methods

mutateM :: TMVar a -> (a -> stm (a, b)) -> STM b Source #

MonadMutateM STM IO TMVar Source # 
Instance details

Methods

mutateM :: TMVar a -> (a -> STM (a, b)) -> IO b Source #

MonadMutateM_ IO IO TMVar Source # 
Instance details

Methods

mutateM_ :: TMVar a -> (a -> IO a) -> IO () Source #

STM ~ stm => MonadMutateM_ stm STM TMVar Source # 
Instance details

Methods

mutateM_ :: TMVar a -> (a -> stm a) -> STM () Source #

MonadMutateM_ STM IO TMVar Source # 
Instance details

Methods

mutateM_ :: TMVar a -> (a -> STM a) -> IO () Source #