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

Safe Haskell | Safe
Language | Haskell2010

UnliftIO.IORef

Description

Unlifted Data.IORef.

Since: 0.1.0.0

Synopsis

- data IORef a :: * -> *
- newIORef :: MonadIO m => a -> m (IORef a)
- readIORef :: MonadIO m => IORef a -> m a
- writeIORef :: MonadIO m => IORef a -> a -> m ()
- modifyIORef :: MonadIO m => IORef a -> (a -> a) -> m ()
- modifyIORef' :: MonadIO m => IORef a -> (a -> a) -> m ()
- atomicModifyIORef :: MonadIO m => IORef a -> (a -> (a, b)) -> m b
- atomicModifyIORef' :: MonadIO m => IORef a -> (a -> (a, b)) -> m b
- atomicWriteIORef :: MonadIO m => IORef a -> a -> m ()
- mkWeakIORef :: MonadUnliftIO m => IORef a -> m () -> m (Weak (IORef a))

# Documentation

data IORef a :: * -> * #

A mutable variable in the `IO` monad

Instances

Eq (IORef a) |
Methods (==) :: IORef a -> IORef a -> Bool # (/=) :: IORef a -> IORef a -> Bool #
NFData (IORef a) | NOTE: Only strict in the reference and not the referenced value. Since: 1.4.2.0
Methods rnf :: IORef a -> () #

newIORef :: MonadIO m => a -> m (IORef a) Source #

Lifted `newIORef`.

Since: 0.1.0.0

readIORef :: MonadIO m => IORef a -> m a Source #

Lifted `readIORef`.

Since: 0.1.0.0

writeIORef :: MonadIO m => IORef a -> a -> m () Source #

Lifted `writeIORef`.

Since: 0.1.0.0

modifyIORef :: MonadIO m => IORef a -> (a -> a) -> m () Source #

Lifted `modifyIORef`.

Since: 0.1.0.0

modifyIORef' :: MonadIO m => IORef a -> (a -> a) -> m () Source #

Lifted `modifyIORef'`.

Since: 0.1.0.0

atomicModifyIORef :: MonadIO m => IORef a -> (a -> (a, b)) -> m b Source #

Lifted `atomicModifyIORef`.

Since: 0.1.0.0

atomicModifyIORef' :: MonadIO m => IORef a -> (a -> (a, b)) -> m b Source #

Lifted `atomicModifyIORef'`.

Since: 0.1.0.0

atomicWriteIORef :: MonadIO m => IORef a -> a -> m () Source #

Lifted `atomicWriteIORef`.

Since: 0.1.0.0

mkWeakIORef :: MonadUnliftIO m => IORef a -> m () -> m (Weak (IORef a)) Source #

Unlifted `mkWeakIORef`.

Since: 0.1.0.0