Adrian Hey <[EMAIL PROTECTED]> writes: > The only real insanity with the current situation is the loss of > referential transparency implied by the use of unsafePerformIO, > which is why various pragma hacks and compiler switches need to be > used (in order to prevent inappropriate substitutions). What I want > to do is to make this or something similar "official", so the > compiler really knows not to do this inappropriate subsitution in > any event, even if the programmer forgot to use the necessary > pragmas or compiler flags, or just didn't understand why they are > needed.
It's not the only problem: v = unsafePerformIO (newIORef undefined) :: IORef a You can store an Integer there and try to take out a String. -- __("< Marcin Kowalczyk \__/ [EMAIL PROTECTED] ^^ http://qrnik.knm.org.pl/~qrczak/ _______________________________________________ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell