Copyright | Liyang HU, Bas van Dijk |
---|---|
License | BSD-style |
Maintainer | Bas van Dijk <v.dijk.bas@gmail.com> |
Stability | experimental |
Safe Haskell | Trustworthy |
Language | Haskell98 |
This is a wrapped version of Data.IORef with types
generalised from IO
to all monads in MonadBase
.
- data IORef a :: * -> *
- newIORef :: MonadBase IO m => a -> m (IORef a)
- readIORef :: MonadBase IO m => IORef a -> m a
- writeIORef :: MonadBase IO m => IORef a -> a -> m ()
- modifyIORef :: MonadBase IO m => IORef a -> (a -> a) -> m ()
- modifyIORef' :: MonadBase IO m => IORef a -> (a -> a) -> m ()
- atomicModifyIORef :: MonadBase IO m => IORef a -> (a -> (a, b)) -> m b
- atomicModifyIORef' :: MonadBase IO m => IORef a -> (a -> (a, b)) -> m b
- atomicWriteIORef :: MonadBase IO m => IORef a -> a -> m ()
- mkWeakIORef :: MonadBaseControl IO m => IORef a -> m () -> m (Weak (IORef a))
Documentation
writeIORef :: MonadBase IO m => IORef a -> a -> m () Source
Generalized version of writeIORef
.
modifyIORef :: MonadBase IO m => IORef a -> (a -> a) -> m () Source
Generalized version of modifyIORef
.
modifyIORef' :: MonadBase IO m => IORef a -> (a -> a) -> m () Source
Generalized version of modifyIORef'
.
atomicModifyIORef :: MonadBase IO m => IORef a -> (a -> (a, b)) -> m b Source
Generalized version of atomicModifyIORef
.
atomicModifyIORef' :: MonadBase IO m => IORef a -> (a -> (a, b)) -> m b Source
Generalized version of atomicModifyIORef'
.
atomicWriteIORef :: MonadBase IO m => IORef a -> a -> m () Source
Generalized version of atomicWriteIORef
.
mkWeakIORef :: MonadBaseControl IO m => 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.