Copyright | (c) 2016 Stephen Diehl (c) 2016-2018 Serokell (c) 2018-2023 Kowainik |
---|---|
License | MIT |
Maintainer | Kowainik <xrom.xkov@gmail.com> |
Stability | Stable |
Portability | Portable |
Safe Haskell | Safe |
Language | Haskell2010 |
Relude.Lifted.Concurrent
Synopsis
- data MVar a
- newEmptyMVar :: MonadIO m => m (MVar a)
- newMVar :: MonadIO m => a -> m (MVar a)
- putMVar :: MonadIO m => MVar a -> a -> m ()
- readMVar :: MonadIO m => MVar a -> m a
- swapMVar :: MonadIO m => MVar a -> a -> m a
- takeMVar :: MonadIO m => MVar a -> m a
- tryPutMVar :: MonadIO m => MVar a -> a -> m Bool
- tryReadMVar :: MonadIO m => MVar a -> m (Maybe a)
- tryTakeMVar :: MonadIO m => MVar a -> m (Maybe a)
- data STM a
- atomically :: MonadIO m => STM a -> m a
- throwSTM :: Exception e => e -> STM a
- catchSTM :: Exception e => STM a -> (e -> STM a) -> STM a
- data TVar a
- newTVarIO :: MonadIO m => a -> m (TVar a)
- readTVarIO :: MonadIO m => TVar a -> m a
- modifyTVar' :: TVar a -> (a -> a) -> STM ()
- newTVar :: a -> STM (TVar a)
- readTVar :: TVar a -> STM a
- writeTVar :: TVar a -> a -> STM ()
- data TMVar a
- newTMVar :: a -> STM (TMVar a)
- newEmptyTMVar :: STM (TMVar a)
- newTMVarIO :: MonadIO m => a -> m (TMVar a)
- newEmptyTMVarIO :: MonadIO m => m (TMVar a)
- takeTMVar :: TMVar a -> STM a
- putTMVar :: TMVar a -> a -> STM ()
- readTMVar :: TMVar a -> STM a
- tryReadTMVar :: TMVar a -> STM (Maybe a)
- swapTMVar :: TMVar a -> a -> STM a
- tryTakeTMVar :: TMVar a -> STM (Maybe a)
- tryPutTMVar :: TMVar a -> a -> STM Bool
- isEmptyTMVar :: TMVar a -> STM Bool
- mkWeakTMVar :: TMVar a -> IO () -> IO (Weak (TMVar a))
MVar
newEmptyMVar :: MonadIO m => m (MVar a) Source #
Lifted to MonadIO
version of newEmptyMVar
.
tryPutMVar :: MonadIO m => MVar a -> a -> m Bool Source #
Lifted to MonadIO
version of tryPutMVar
.
tryReadMVar :: MonadIO m => MVar a -> m (Maybe a) Source #
Lifted to MonadIO
version of tryReadMVar
.
tryTakeMVar :: MonadIO m => MVar a -> m (Maybe a) Source #
Lifted to MonadIO
version of tryTakeMVar
.
STM
Instances
Alternative STM | |
Applicative STM | |
Functor STM | |
Monad STM | |
MonadPlus STM | |
MArray TArray e STM | |
Defined in Control.Concurrent.STM.TArray Methods getBounds :: Ix i => TArray i e -> STM (i, i) getNumElements :: Ix i => TArray i e -> STM Int newArray :: Ix i => (i, i) -> e -> STM (TArray i e) newArray_ :: Ix i => (i, i) -> STM (TArray i e) unsafeNewArray_ :: Ix i => (i, i) -> STM (TArray i e) unsafeRead :: Ix i => TArray i e -> Int -> STM e unsafeWrite :: Ix i => TArray i e -> Int -> e -> STM () | |
Monoid a => Monoid (STM a) | |
Semigroup a => Semigroup (STM a) | |
atomically :: MonadIO m => STM a -> m a Source #
Lifted to MonadIO
version of atomically
.
TVar
readTVarIO :: MonadIO m => TVar a -> m a Source #
Lifted to MonadIO
version of readTVarIO
.
modifyTVar' :: TVar a -> (a -> a) -> STM () #
TMVar
newEmptyTMVar :: STM (TMVar a) #
newTMVarIO :: MonadIO m => a -> m (TMVar a) Source #
Lifted to MonadIO
version of newTMVarIO
.
newEmptyTMVarIO :: MonadIO m => m (TMVar a) Source #
Lifted to MonadIO
version of newEmptyTMVarIO
.
tryReadTMVar :: TMVar a -> STM (Maybe a) #
tryTakeTMVar :: TMVar a -> STM (Maybe a) #
tryPutTMVar :: TMVar a -> a -> STM Bool #
isEmptyTMVar :: TMVar a -> STM Bool #