Remove Control.Parallel*, now in package parallel
[packages/random.git] / System / IO / Unsafe.hs
index 98dfe2b..1ec5361 100644 (file)
@@ -1,4 +1,4 @@
-{-# OPTIONS -fno-implicit-prelude #-}
+{-# OPTIONS_GHC -fno-implicit-prelude #-}
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  System.IO.Unsafe
 -----------------------------------------------------------------------------
 
 module System.IO.Unsafe (
-   -- * Unsafe 'IO' operations
+   -- * Unsafe 'System.IO.IO' operations
    unsafePerformIO,    -- :: IO a -> a
    unsafeInterleaveIO, -- :: IO a -> IO a
   ) where
 
 #ifdef __GLASGOW_HASKELL__
-import GHC.IOBase
+import GHC.IOBase (unsafePerformIO, unsafeInterleaveIO)
 #endif
 
 #ifdef __HUGS__
-import Hugs.IOExts
+import Hugs.IOExts (unsafePerformIO, unsafeInterleaveIO)
 #endif
 
 #ifdef __NHC__
 import NHC.Internal (unsafePerformIO)
+#endif
 
+#if !__GLASGOW_HASKELL__ && !__HUGS__
 unsafeInterleaveIO :: IO a -> IO a
-unsafeInterleaveIO f = let x = unsafePerformIO f in return x
+unsafeInterleaveIO f = return (unsafePerformIO f)
 #endif