Global variables?
Glynn Clements
glynn.clements@virgin.net
Fri, 31 Jan 2003 07:47:43 +0000
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 <glynn.clements@virgin.net>