| Copyright | Liyang HU Bas van Dijk |
|---|---|
| License | BSD-style |
| Maintainer | Bas van Dijk <v.dijk.bas@gmail.com> |
| Stability | experimental |
| Safe Haskell | None |
| Language | Haskell2010 |
Data.IORef.Lifted
Description
This is a wrapped version of Data.IORef with types
generalised from IO to all monads in MonadBase.
Synopsis
- data IORef a
- newIORef :: (Basic1 m, Base m ~ IO) => a -> m (IORef a)
- readIORef :: (Basic1 m, Base m ~ IO) => IORef a -> m a
- writeIORef :: (Basic1 m, Base m ~ IO) => IORef a -> a -> m ()
- modifyIORef :: (Basic1 m, Base m ~ IO) => IORef a -> (a -> a) -> m ()
- modifyIORef' :: (Basic1 m, Base m ~ IO) => IORef a -> (a -> a) -> m ()
- atomicModifyIORef :: (Basic1 m, Base m ~ IO) => IORef a -> (a -> (a, b)) -> m b
- atomicModifyIORef' :: (Basic1 m, Base m ~ IO) => IORef a -> (a -> (a, b)) -> m b
- atomicWriteIORef :: (Basic1 m, Base m ~ IO) => IORef a -> a -> m ()
- mkWeakIORef :: (MonadBaseControl m, Base m ~ IO) => IORef a -> m () -> m (Weak (IORef a))
Documentation
A mutable variable in the IO monad
writeIORef :: (Basic1 m, Base m ~ IO) => IORef a -> a -> m () Source #
Generalized version of writeIORef.
modifyIORef :: (Basic1 m, Base m ~ IO) => IORef a -> (a -> a) -> m () Source #
Generalized version of modifyIORef.
modifyIORef' :: (Basic1 m, Base m ~ IO) => IORef a -> (a -> a) -> m () Source #
Generalized version of modifyIORef'.
atomicModifyIORef :: (Basic1 m, Base m ~ IO) => IORef a -> (a -> (a, b)) -> m b Source #
Generalized version of atomicModifyIORef.
atomicModifyIORef' :: (Basic1 m, Base m ~ IO) => IORef a -> (a -> (a, b)) -> m b Source #
Generalized version of atomicModifyIORef'.
atomicWriteIORef :: (Basic1 m, Base m ~ IO) => IORef a -> a -> m () Source #
Generalized version of atomicWriteIORef.
mkWeakIORef :: (MonadBaseControl m, Base m ~ IO) => IORef a -> m () -> m (Weak (IORef a)) Source #
Generalized version of mkWeakIORef.
Note any monadic side effects in m of the "finalizer" computation
are discarded.