[project @ 2005-11-11 12:01:58 by simonmar]
[haskell-directory.git] / System / IO.hs
index f94dca6..5fd8ac5 100644 (file)
@@ -1,4 +1,4 @@
-{-# OPTIONS -fno-implicit-prelude #-}
+{-# OPTIONS_GHC -fno-implicit-prelude #-}
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  System.IO
@@ -57,9 +57,12 @@ module System.IO (
 
     -- * Operations on handles
 
-    -- ** Determining the size of a file
+    -- ** Determining and changing the size of a file
 
     hFileSize,                -- :: Handle -> IO Integer
+#ifdef __GLASGOW_HASKELL__
+    hSetFileSize,              -- :: Handle -> Integer -> IO ()
+#endif
 
     -- ** Detecting the end of input
 
@@ -152,7 +155,12 @@ module System.IO (
     hGetBufNonBlocking,               -- :: Handle -> Ptr a -> Int -> IO Int
 #endif
 
-    module System.IO.Error,
+    -- * Temporary files
+
+#ifdef __GLASGOW_HASKELL__
+    openTempFile,
+    openBinaryTempFile,
+#endif
   ) where
 
 #ifdef __GLASGOW_HASKELL__
@@ -160,7 +168,6 @@ import GHC.Base
 import GHC.IOBase      -- Together these four Prelude modules define
 import GHC.Handle      -- all the stuff exported by IO for the GHC version
 import GHC.IO
-import GHC.ST          ( fixST )
 import GHC.Exception
 import GHC.Num
 import GHC.Read
@@ -214,25 +221,6 @@ import IO
 import NHC.IOExtras (fixIO)
 #endif
 
-import System.IO.Error (
-    isAlreadyExistsError, isDoesNotExistError,  -- :: IOError -> Bool
-    isAlreadyInUseError, isFullError, 
-    isEOFError, isIllegalOperation, 
-    isPermissionError, isUserError, 
-    ioeGetErrorString,         -- :: IOError -> String
-    ioeGetHandle,              -- :: IOError -> Maybe Handle
-    ioeGetFileName,            -- :: IOError -> Maybe FilePath
-    try,                       -- :: IO a -> IO (Either IOError a)
-    -- re-exports of Prelude names
-    IOError,
-    ioError,                   -- :: IOError -> IO a
-    userError,                 -- :: String  -> IOError
-    catch                      -- :: IO a    -> (IOError -> IO a) -> IO a
-  )
-
 -- -----------------------------------------------------------------------------
 -- Standard IO
 
@@ -353,7 +341,7 @@ readIO s        =  case (do { (x,t) <- reads s ;
 -- 
 -- This operation may fail with:
 --
---  * 'isEOFError' if the end of file has been reached.
+--  * 'System.IO.Error.isEOFError' if the end of file has been reached.
 
 hReady         :: Handle -> IO Bool
 hReady h       =  hWaitForInput h 0
@@ -371,9 +359,9 @@ hPutStrLn hndl str = do
 --
 -- This operation may fail with:
 --
---  * 'isFullError' if the device is full; or
+--  * 'System.IO.Error.isFullError' if the device is full; or
 --
---  * 'isPermissionError' if another system resource limit would be exceeded.
+--  * 'System.IO.Error.isPermissionError' if another system resource limit would be exceeded.
 
 hPrint         :: Show a => Handle -> a -> IO ()
 hPrint hdl     =  hPutStrLn hdl . show
@@ -419,4 +407,4 @@ hSetBinaryMode _ _ = return ()
 -- the file until the entire contents of the file have been consumed.
 -- It follows that an attempt to write to a file (using 'writeFile', for
 -- example) that was earlier opened by 'readFile' will usually result in
--- failure with 'isAlreadyInUseError'.
+-- failure with 'System.IO.Error.isAlreadyInUseError'.