Safe Haskell | None |
---|---|
Language | Haskell2010 |
Data.Primitive.Unlifted.MVar
Description
This module includes all the features of Control.Concurrent.MVar, except
that the functions in Data.Primitive.Unlifted.Weak subsume the functionality
of mkWeakMV
and addMVarFinalizer
, so we do not include analogues of those
functions.
Documentation
data UnliftedMVar_ s a (unlifted_a :: UnliftedType) #
Constructors
UnliftedMVar (UnliftedMVar# s unlifted_a) |
Instances
unlifted_a ~ Unlifted a => Eq (UnliftedMVar_ s a unlifted_a) # | |||||
Defined in Data.Primitive.Unlifted.MVar.ST Methods (==) :: UnliftedMVar_ s a unlifted_a -> UnliftedMVar_ s a unlifted_a -> Bool # (/=) :: UnliftedMVar_ s a unlifted_a -> UnliftedMVar_ s a unlifted_a -> Bool # | |||||
unlifted_a ~ Unlifted a => PrimUnlifted (UnliftedMVar_ s a unlifted_a) # | |||||
Defined in Data.Primitive.Unlifted.MVar.ST Associated Types
Methods toUnlifted# :: UnliftedMVar_ s a unlifted_a -> Unlifted (UnliftedMVar_ s a unlifted_a) # fromUnlifted# :: Unlifted (UnliftedMVar_ s a unlifted_a) -> UnliftedMVar_ s a unlifted_a # | |||||
type Unlifted (UnliftedMVar_ s a unlifted_a) # | |||||
Defined in Data.Primitive.Unlifted.MVar.ST |
type UnliftedMVar s a = UnliftedMVar_ s a (Unlifted a) #
newUnliftedMVar :: (PrimUnlifted a, PrimMonad m) => a -> m (UnliftedMVar (PrimState m) a) #
newEmptyUnliftedMVar :: PrimMonad m => m (UnliftedMVar (PrimState m) a) #
takeUnliftedMVar :: (PrimMonad m, PrimUnlifted a) => UnliftedMVar (PrimState m) a -> m a #
tryTakeUnliftedMVar :: (PrimMonad m, PrimUnlifted a) => UnliftedMVar (PrimState m) a -> m (Maybe a) #
putUnliftedMVar :: (PrimMonad m, PrimUnlifted a) => UnliftedMVar (PrimState m) a -> a -> m () #
tryPutUnliftedMVar :: (PrimMonad m, PrimUnlifted a) => UnliftedMVar (PrimState m) a -> a -> m Bool #
readUnliftedMVar :: (PrimMonad m, PrimUnlifted a) => UnliftedMVar (PrimState m) a -> m a #
tryReadUnliftedMVar :: (PrimMonad m, PrimUnlifted a) => UnliftedMVar (PrimState m) a -> m (Maybe a) #
isEmptyUnliftedMVar :: PrimMonad m => UnliftedMVar (PrimState m) a -> m Bool #
swapUnliftedMVar :: (PrimMonad m, PrimState m ~ RealWorld, PrimUnlifted a) => UnliftedMVar RealWorld a -> a -> m a #
withUnliftedMVar :: (PrimBase m, PrimState m ~ RealWorld, PrimUnlifted a) => UnliftedMVar RealWorld a -> (a -> m b) -> m b #
withUnliftedMVarMasked :: (PrimBase m, PrimState m ~ RealWorld, PrimUnlifted a) => UnliftedMVar RealWorld a -> (a -> m b) -> m b #
modifyUnliftedMVar :: (PrimBase m, PrimState m ~ RealWorld, PrimUnlifted a) => UnliftedMVar RealWorld a -> (a -> m (a, b)) -> m b #
modifyUnliftedMVar_ :: (PrimBase m, PrimState m ~ RealWorld, PrimUnlifted a) => UnliftedMVar RealWorld a -> (a -> m a) -> m () #
modifyUnliftedMVarMasked :: (PrimBase m, PrimState m ~ RealWorld, PrimUnlifted a) => UnliftedMVar RealWorld a -> (a -> m (a, b)) -> m b #
modifyUnliftedMVarMasked_ :: (PrimBase m, PrimState m ~ RealWorld, PrimUnlifted a) => UnliftedMVar RealWorld a -> (a -> m a) -> m () #