2 % (c) The AQUA Project, Glasgow University, 1994-1996
5 \section[IORef]{Module @IORef@}
8 {-# OPTIONS -fno-implicit-prelude #-}
24 newtype IORef a = IORef (MutableVar RealWorld a) deriving Eq
26 newIORef :: a -> IO (IORef a)
27 newIORef v = stToIO (newVar v) >>= \ var -> return (IORef var)
29 readIORef :: IORef a -> IO a
30 readIORef (IORef var) = stToIO (readVar var)
32 writeIORef :: IORef a -> a -> IO ()
33 writeIORef (IORef var) v = stToIO (writeVar var v)