A mutable variable in the IO monad.
import GHC.Internal.Data.IORefr <- newIORef 0readIORef r0writeIORef r 1readIORef r1atomicWriteIORef r 2readIORef r2modifyIORef' r (+ 1)readIORef r3atomicModifyIORef' r (\a -> (a + 1, ()))readIORef r4
See also STRef and Control.Concurrent.MVar.MVar.
Instances8NFData1, MonadState, Eq, NFData, CommandMonad, HasGetter, …
NFData1 IORefDefined in deepseq-1.5.0.0 · Control.DeepSeqMonadIO m => MonadState s (ReaderT (IORef s) m)Defined in haskeline-0.8.2.1 · System.Console.Haskeline.MonadsEq (IORef a)Defined in ghc-internal-9.1003.0 · GHC.Internal.IORefPointer equality.
NFData (IORef a)Defined in deepseq-1.5.0.0 · Control.DeepSeqNOTE: Only strict in the reference and not the referenced value.
(MonadIO m, MonadMask m) => CommandMonad (InputCmdT m)Defined in haskeline-0.8.2.1 · System.Console.Haskeline.InputTHasGetter (IORef a) aDefined in StateVar-1.2.2 · Data.StateVarHasSetter (IORef a) aDefined in StateVar-1.2.2 · Data.StateVarHasUpdate (IORef a) a aDefined in StateVar-1.2.2 · Data.StateVar