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

Safe HaskellSafe
LanguageHaskell2010

UnliftIO.IORef

Description

Unlifted Data.IORef

Since: 0.1.0.0

Synopsis

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