unliftio-0.1.0.0: The MonadUnliftIO typeclass for unlifting monads to IO (batteries included)

Safe HaskellSafe
LanguageHaskell2010

UnliftIO.MVar

Description

Unlifted Control.Concurrent.MVar

Since: 0.1.0.0

Synopsis

Documentation

data MVar a :: * -> * #

An MVar (pronounced "em-var") is a synchronising variable, used for communication between concurrent threads. It can be thought of as a a box, which may be empty or full.

Instances

Eq (MVar a) 

Methods

(==) :: MVar a -> MVar a -> Bool #

(/=) :: MVar a -> MVar a -> Bool #

NFData (MVar a)

NOTE: Only strict in the reference and not the referenced value.

Since: 1.4.2.0

Methods

rnf :: MVar a -> () #

newEmptyMVar :: MonadIO m => m (MVar a) Source #

Lifted newEmptyMVar

Since: 0.1.0.0

newMVar :: MonadIO m => a -> m (MVar a) Source #

Lifted newMVar

Since: 0.1.0.0

takeMVar :: MonadIO m => MVar a -> m a Source #

Lifted takeMVar

Since: 0.1.0.0

putMVar :: MonadIO m => MVar a -> a -> m () Source #

Lifted putMVar

Since: 0.1.0.0

readMVar :: MonadIO m => MVar a -> m a Source #

Lifted readMVar

Since: 0.1.0.0

swapMVar :: MonadIO m => MVar a -> a -> m a Source #

Lifted swapMVar

Since: 0.1.0.0

tryTakeMVar :: MonadIO m => MVar a -> m (Maybe a) Source #

Lifted tryTakeMVar

Since: 0.1.0.0

tryPutMVar :: MonadIO m => MVar a -> a -> m Bool Source #

Lifted tryPutMVar

Since: 0.1.0.0

isEmptyMVar :: MonadIO m => MVar a -> m Bool Source #

Lifted isEmptyMVar

Since: 0.1.0.0

withMVar :: MonadUnliftIO m => MVar a -> (a -> m b) -> m b Source #

Unlifted withMVar

Since: 0.1.0.0

withMVarMasked :: MonadUnliftIO m => MVar a -> (a -> m b) -> m b Source #

Unlifted withMVarMasked

Since: 0.1.0.0

modifyMVar :: MonadUnliftIO m => MVar a -> (a -> m (a, b)) -> m b Source #

Unlifted modifyMVar

Since: 0.1.0.0

modifyMVar_ :: MonadUnliftIO m => MVar a -> (a -> m a) -> m () Source #

Unlifted modifyMVar_

Since: 0.1.0.0

modifyMVarMasked :: MonadUnliftIO m => MVar a -> (a -> m (a, b)) -> m b Source #

Unlifted modifyMVarMasked

Since: 0.1.0.0

modifyMVarMasked_ :: MonadUnliftIO m => MVar a -> (a -> m a) -> m () Source #

Unlifted modifyMVarMasked_

Since: 0.1.0.0

tryReadMVar :: MonadIO m => MVar a -> m (Maybe a) Source #

Lifted tryReadMVar

Since: 0.1.0.0

mkWeakMVar :: MonadUnliftIO m => MVar a -> m () -> m (Weak (MVar a)) Source #

Unlifted mkWeakMVar

Since: 0.1.0.0