[project @ 2003-08-11 13:18:22 by ross]
[ghc-base.git] / System / IO / Unsafe.hs
index 3e2ade7..e794ab1 100644 (file)
@@ -1,3 +1,4 @@
+{-# OPTIONS -fno-implicit-prelude #-}
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  System.IO.Unsafe
@@ -8,17 +9,29 @@
 -- Stability   :  provisional
 -- Portability :  portable
 --
--- "Unsafe" IO operations.
+-- \"Unsafe\" IO operations.
 --
 -----------------------------------------------------------------------------
 
 module System.IO.Unsafe (
+   -- * Unsafe 'IO' operations
    unsafePerformIO,    -- :: IO a -> a
    unsafeInterleaveIO, -- :: IO a -> IO a
   ) where
 
-import Prelude
-
 #ifdef __GLASGOW_HASKELL__
-import GHC.IOBase
+import GHC.IOBase (unsafePerformIO, unsafeInterleaveIO)
+#endif
+
+#ifdef __HUGS__
+import Hugs.IOExts (unsafePerformIO)
+#endif
+
+#ifdef __NHC__
+import NHC.Internal (unsafePerformIO)
+#endif
+
+#ifndef __GLASGOW_HASKELL__
+unsafeInterleaveIO :: IO a -> IO a
+unsafeInterleaveIO f = return (unsafePerformIO f)
 #endif