
1 Feb
2007
1 Feb
'07
4:14 p.m.
(CCing the list as this is of general concern.)
On 01/02/07, Yitzchak Gale
Why is this unsafe? What could go wrong?
It could segfault due to the type safety properties that unsafePerformIO breaks: import System.IO.Unsafe import Data.IORef ref :: IORef [a] ref <- newIORef [] main = do writeIORef ref [42] val <- readIORef ref print (val :: [Char]) If you use the pragma you're forced to import unsafePerformIO and hopefully check the haddock docs [1] where this issue is listed. [1]: http://haskell.org/ghc/docs/latest/html/libraries/base/System-IO-Unsafe.html -- -David House, dmhouse@gmail.com