X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=Prelude.hs;h=61bd27eb8bd1121a21f16b3a5982b324bda59125;hb=37ab854f9d2c1280117658bbd29919968f4f4585;hp=8eb912bffa412d9ee568f4dccf7336d1cd258d48;hpb=8e9892cd14b7558649fcd9ba0597805eb57505b3;p=ghc-base.git diff --git a/Prelude.hs b/Prelude.hs index 8eb912b..61bd27e 100644 --- a/Prelude.hs +++ b/Prelude.hs @@ -146,22 +146,17 @@ module Prelude ( #ifndef __HUGS__ import Control.Monad import System.IO -import Text.Read -import Text.Show +import System.IO.Error import Data.List import Data.Either import Data.Maybe -import Data.Bool import Data.Tuple -import Data.Eq -import Data.Ord #endif #ifdef __GLASGOW_HASKELL__ import GHC.Base import GHC.IOBase -import GHC.Exception -import GHC.Read +import Text.Read import GHC.Enum import GHC.Num import GHC.Real @@ -170,8 +165,6 @@ import GHC.Show import GHC.Err ( error, undefined ) #endif -import qualified Control.OldException as Old - #ifdef __HUGS__ import Hugs.Prelude #endif @@ -194,27 +187,3 @@ f $! x = x `seq` f x seq :: a -> b -> b seq _ y = y #endif - --- | The 'catch' function establishes a handler that receives any 'IOError' --- raised in the action protected by 'catch'. An 'IOError' is caught by --- the most recent handler established by 'catch'. These handlers are --- not selective: all 'IOError's are caught. Exception propagation --- must be explicitly provided in a handler by re-raising any unwanted --- exceptions. For example, in --- --- > f = catch g (\e -> if IO.isEOFError e then return [] else ioError e) --- --- the function @f@ returns @[]@ when an end-of-file exception --- (cf. 'System.IO.Error.isEOFError') occurs in @g@; otherwise, the --- exception is propagated to the next outer handler. --- --- When an exception propagates outside the main program, the Haskell --- system prints the associated 'IOError' value and exits the program. --- --- Non-I\/O exceptions are not caught by this variant; to catch all --- exceptions, use 'Control.Exception.catch' from "Control.Exception". -catch :: IO a -> (IOError -> IO a) -> IO a -catch io handler = io `Old.catch` handler' - where handler' (Old.IOException ioe) = handler ioe - handler' e = throw e -