Use explicit language extensions & remove extension fields from base.cabal
[ghc-base.git] / System / IO / Unsafe.hs
index 2f98633..3ef3d9f 100644 (file)
@@ -1,26 +1,34 @@
+{-# LANGUAGE CPP, NoImplicitPrelude #-}
+
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  System.IO.Unsafe
 -- Copyright   :  (c) The University of Glasgow 2001
--- License     :  BSD-style (see the file libraries/core/LICENSE)
+-- License     :  BSD-style (see the file libraries/base/LICENSE)
 -- 
 -- Maintainer  :  libraries@haskell.org
 -- Stability   :  provisional
 -- Portability :  portable
 --
--- $Id: Unsafe.hs,v 1.2 2002/04/24 16:31:45 simonmar Exp $
---
--- "Unsafe" IO operations.
+-- \"Unsafe\" IO operations.
 --
 -----------------------------------------------------------------------------
 
 module System.IO.Unsafe (
-   unsafePerformIO,    -- :: IO a -> a
-   unsafeInterleaveIO, -- :: IO a -> IO a
+   -- * Unsafe 'System.IO.IO' operations
+   unsafePerformIO,     -- :: IO a -> a
+   unsafeInterleaveIO,  -- :: IO a -> IO a
   ) where
 
-import Prelude
-
 #ifdef __GLASGOW_HASKELL__
-import GHC.IOBase
+import GHC.IO (unsafePerformIO, unsafeInterleaveIO)
+#endif
+
+#ifdef __HUGS__
+import Hugs.IOExts (unsafePerformIO, unsafeInterleaveIO)
+#endif
+
+#ifdef __NHC__
+import NHC.Internal (unsafePerformIO, unsafeInterleaveIO)
 #endif
+