HORIZON HASKELLDocslts/ghc-9.14.x7a6c33e2026-10-12Search packagesCtrl K
Theme: |

GHC 9.14.1 · lts/ghc-9.14.x · 7a6c33e · 2026-10-12

Moduleeffectful-2.7.1.0GHC2021

Effectful.Prim.IORef

Lifted Data.IORef.

Note: it requires Prim because MutVar from the primitive library is a generalization of IORef.

Contents
  1. Effect
  2. Handlers
  3. IORef
Synopsis

Effect

datadata Prim (a :: Type -> Type) b

Provide the ability to perform primitive state-transformer actions.

Instances2DispatchOf, StaticRep

Handlers

IORef

newtypenewtype IORef a

A mutable variable in the IO monad.

Example11 expressions
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 MVar.

Instances3NFData1, Eq, NFData
  • NFData1 IORefDefined in deepseq-1.5.1.0 · Control.DeepSeq
  • Eq (IORef a)Defined in ghc-internal-9.1401.0 · GHC.Internal.IORef

    Pointer equality.

  • NFData (IORef a)Defined in deepseq-1.5.1.0 · Control.DeepSeq

    NOTE: Only strict in the reference and not the referenced value.