
31 Jan
2003
31 Jan
'03
7:47 a.m.
Pavel G. Zhbanov wrote:
Is it even possible to make a "global variable" in Haskell? If yes, how?
The usual fudge is:
import IORef
import IOExts
globalVar :: IORef Int
globalVar = unsafePerformIO $ newIORef 0
However, beware of creating more than one "global variable" of the
same type. If you enable optimisation, common subexpression
elimination may result in both names referring to the same IORef.
--
Glynn Clements