base-4.20.0.0: Core data structures and operations
Copyright(c) The University of Glasgow 2001
LicenseBSD-style (see the file libraries/base/LICENSE)
Maintainerlibraries@haskell.org
Stabilitystable
Portabilitynon-portable (uses Control.Monad.ST.Lazy)
Safe HaskellSafe
LanguageHaskell2010

Data.STRef.Lazy

Contents

Description

Mutable references in the lazy ST monad.

Synopsis

STRefs

data STRef s a Source #

a value of type STRef s a is a mutable variable in state thread s, containing a value of type a

>>> :{
runST (do
    ref <- newSTRef "hello"
    x <- readSTRef ref
    writeSTRef ref (x ++ "world")
    readSTRef ref )
:}
"helloworld"

Instances

Instances details
Eq (STRef s a) Source #

Pointer equality.

Since: base-2.1

Instance details

Defined in GHC.Internal.STRef

Methods

(==) :: STRef s a -> STRef s a -> Bool Source #

(/=) :: STRef s a -> STRef s a -> Bool Source #

newSTRef :: a -> ST s (STRef s a) Source #

readSTRef :: STRef s a -> ST s a Source #

writeSTRef :: STRef s a -> a -> ST s () Source #

modifySTRef :: STRef s a -> (a -> a) -> ST s () Source #