Tomasz wrote: > Without unsafePerformIO Haskell gives me many guarantees for free. > With unsafePerformIO, they are no longer for free, I have to think, prove, > etc. When I mistakenly give a pure function interface to an unpure > "function", it can affect my program in most unexpected places.
I think with the functions implemented by my proposal and without unsafePerformIO you can have all the guarantees, but still have global variables. In particular you can implement most of John Meacham's examples (the Random module), Data.Unique, and Caching. _______________________________________________ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell