Portability | IO |
---|---|
Stability | experimental |
Maintainer | John Launchbury, john@galois.com |
Safe Haskell | Safe-Inferred |
Overloads the standard operations on IORefs, as defined in Data.IORef. This module is name-for-name swappable with Data.IORef unless ghc-specific operations like weak pointers are used.
The standard operations on IORef
(such as
newIORef
, or modifyIORef
) are overloaded over the
MonadIO
class. A monad m
is declared an instance of
MonadIO
by defining a function
liftIO :: IO a -> m a
- class Monad m => MonadIO m where
- data IORef a
- newIORef :: MonadIO io => a -> io (IORef a)
- readIORef :: MonadIO io => IORef a -> io a
- writeIORef :: MonadIO io => IORef a -> a -> io ()
- modifyIORef :: MonadIO io => IORef a -> (a -> a) -> io ()
- atomicModifyIORef :: MonadIO io => IORef a -> (a -> (a, b)) -> io b
Documentation
writeIORef :: MonadIO io => IORef a -> a -> io ()Source
modifyIORef :: MonadIO io => IORef a -> (a -> a) -> io ()Source
atomicModifyIORef :: MonadIO io => IORef a -> (a -> (a, b)) -> io bSource