> 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.
John Hughes wrote a nice pearl on the subject, see http://www.math.chalmers.se/~rjmh/Globals.ps Cheers, Ralf _______________________________________________ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe