1 {-# OPTIONS_GHC -XNoImplicitPrelude #-}
2 -----------------------------------------------------------------------------
4 -- Module : System.IO.Unsafe
5 -- Copyright : (c) The University of Glasgow 2001
6 -- License : BSD-style (see the file libraries/base/LICENSE)
8 -- Maintainer : libraries@haskell.org
9 -- Stability : provisional
10 -- Portability : portable
12 -- \"Unsafe\" IO operations.
14 -----------------------------------------------------------------------------
16 module System.IO.Unsafe (
17 -- * Unsafe 'System.IO.IO' operations
18 unsafePerformIO, -- :: IO a -> a
19 unsafeInterleaveIO, -- :: IO a -> IO a
22 #ifdef __GLASGOW_HASKELL__
23 import GHC.IOBase (unsafePerformIO, unsafeInterleaveIO)
27 import Hugs.IOExts (unsafePerformIO, unsafeInterleaveIO)
31 import NHC.Internal (unsafePerformIO)
34 #if !__GLASGOW_HASKELL__ && !__HUGS__
35 unsafeInterleaveIO :: IO a -> IO a
36 unsafeInterleaveIO f = return (unsafePerformIO f)