For nhc98, take the corrected (thanks to Ross Paterson) version of
fixIO from NHC.IOExtras.
, IO ()
, FilePath -- :: String
)
-import NHC.Internal (unsafePerformIO)
+import NHC.IOExtras (fixIO)
#endif
import System.IO.Error (
fixIO :: (a -> IO a) -> IO a
fixIO m = stToIO (fixST (ioToST . m))
#endif
-#ifdef __NHC__
-fixIO :: (a -> IO a) -> IO a
-fixIO f = let x = unsafePerformIO (f x) in return x
-#endif
-- $locking
-- Implementations should enforce as far as possible, at least locally to the