Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
STM functions in MonadIO and custom functions like modifyTVarIO.
Why not lifted-stm of stm-lifted package? - neither is in stackage - only a few functions needed
Synopsis
- atomically :: MonadIO m => STM a -> m a
- readTVarIO :: MonadIO m => TVar a -> m a
- newTVarIO :: MonadIO m => a -> m (TVar a)
- modifyTVarIO :: MonadIO m => TVar a -> (a -> (a, b)) -> m b
- newTChanIO :: MonadIO m => m (TChan a)
- data TVar a
- data STM a
- writeTVar :: TVar a -> a -> STM ()
- readTVar :: TVar a -> STM a
- data TChan a
- data TBQueue a
Documentation
atomically :: MonadIO m => STM a -> m a Source #
readTVarIO :: MonadIO m => TVar a -> m a Source #
modifyTVarIO :: MonadIO m => TVar a -> (a -> (a, b)) -> m b Source #
Drop-in replacement for atomicModifyIORef
newTChanIO :: MonadIO m => m (TChan a) Source #
Shared memory locations that support atomic memory transactions.
A monad supporting atomic memory transactions.
Instances
TChan
is an abstract type representing an unbounded FIFO channel.