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

MonadVar.Default

Synopsis

Documentation

defaultLockUnsafeWrite :: MonadLock m v => v a -> a -> m () Source #

Default exception-unsafe write for MonadLock entities.

defaultReadWriteSwap :: (MonadRead m v, MonadWrite m v) => v a -> a -> m a Source #

Default swap for MonadRead and MonadWrite entities.

defaultLockUnsafeSwap :: MonadLock m v => v a -> a -> m a Source #

Default exception-unsafe swap for MonadLock entities.

defaultReadWriteMutate_ :: (MonadRead m v, MonadWrite m v) => v a -> (a -> a) -> m () Source #

Default mutate_ for MonadRead and MonadWrite entities.

defaultReadWriteMutate :: (MonadRead m v, MonadWrite m v) => v a -> (a -> (a, b)) -> m b Source #

Default mutate for MonadRead and MonadWrite entities.

defaultReadWriteMutateM_ :: (MonadRead m v, MonadWrite m v) => v a -> (a -> m a) -> m () Source #

Default mutateM_ for MonadRead and MonadWrite entities.

defaultReadWriteMutateM :: (MonadRead m v, MonadWrite m v) => v a -> (a -> m (a, b)) -> m b Source #

Default mutateM for MonadRead and MonadWrite entities.

defaultLockUnsafeMutate_ :: MonadLock m v => v a -> (a -> a) -> m () Source #

Default exception-unsafe mutate_ for MonadLock entities.

defaultLockUnsafeMutate :: MonadLock m v => v a -> (a -> (a, b)) -> m b Source #

Default exception-unsafe mutate for MonadLock entities.

defaultLockUnsafeMutateM_ :: MonadLock m v => v a -> (a -> m a) -> m () Source #

Default exception-unsafe mutateM_ for MonadLock entities.

defaultLockUnsafeMutateM :: MonadLock m v => v a -> (a -> m (a, b)) -> m b Source #

Default exception-unsafe mutateM for MonadLock entities.

defaultLockIOMutateM_ :: MonadLock IO v => v a -> (a -> IO a) -> IO () Source #

Default mutateM_ for MonadLock IO entities

defaultLockIOMutateM :: MonadLock IO v => v a -> (a -> IO (a, b)) -> IO b Source #

Default mutateM for MonadLock IO entities.