+{-# OPTIONS_GHC -fno-implicit-prelude #-}
-----------------------------------------------------------------------------
---
+-- |
-- 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.1 2001/06/28 14:15:04 simonmar Exp $
---
--- "Unsafe" IO operations.
+-- \"Unsafe\" IO operations.
--
-----------------------------------------------------------------------------
module System.IO.Unsafe (
+ -- * 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.IOBase (unsafePerformIO, unsafeInterleaveIO)
+#endif
+
+#ifdef __HUGS__
+import Hugs.IOExts (unsafePerformIO, unsafeInterleaveIO)
+#endif
+
+#ifdef __NHC__
+import NHC.Internal (unsafePerformIO)
+#endif
+
+#if !__GLASGOW_HASKELL__ && !__HUGS__
+unsafeInterleaveIO :: IO a -> IO a
+unsafeInterleaveIO f = return (unsafePerformIO f)
#endif