unsafePerformIO is part of the the Haskell 98 Foreign Function Interface, which is "An Addendum to the Haskell 98 Report". (See chapter 5 Marshalling &#60;<a href="http://www.cse.unsw.edu.au/~chak/haskell/ffi/ffi/ffise5.html&#62;" rel="nofollow">http://www.cse.unsw.edu.au/~chak/haskell/ffi/ffi/ffise5.html...</a>) All haskell compilers support the foreign function interface, and it will be a required part of the next haskell standard.<p>Use of unsafePerformIO (or any other unsafe function) should rarely be needed in real world programs though.