Replace uses of the old catch function with the new one ghc-darcs-git-switchover
authorIan Lynagh <igloo@earth.li>
Sat, 18 Dec 2010 21:36:22 +0000 (21:36 +0000)
committerIan Lynagh <igloo@earth.li>
Sat, 18 Dec 2010 21:36:22 +0000 (21:36 +0000)
Trace/Hpc/Mix.hs
Trace/Hpc/Tix.hs
Trace/Hpc/Util.hs

index b36c2ac..efcc559 100644 (file)
@@ -28,7 +28,7 @@ import Data.Char
 -- been introduced in that module, accessed by tick-number position
 -- in the list
 
-import Trace.Hpc.Util (HpcPos, insideHpcPos, Hash, HpcHash(..))
+import Trace.Hpc.Util (HpcPos, insideHpcPos, Hash, HpcHash(..), catchIO)
 import Trace.Hpc.Tix
 
 -- | 'Mix' is the information about a modules static properties, like
@@ -98,7 +98,7 @@ readMix dirNames mod' = do
                                      Left  _   -> True
                                      Right tix -> h == tixModuleHash tix
                                   ) -> return $ Just r
-                           _ -> return $ Nothing) `catch` (\ _ -> return $ Nothing)
+                           _ -> return $ Nothing) `catchIO` (\ _ -> return $ Nothing)
                    | dirName <- dirNames
                    ]
    case catMaybes res of
index 4e49588..5752c96 100644 (file)
@@ -9,7 +9,7 @@ module Trace.Hpc.Tix(Tix(..), TixModule(..),
                     readTix, writeTix, getTixFileName) where
 
 import Data.List (isSuffixOf)
-import Trace.Hpc.Util(Hash)
+import Trace.Hpc.Util (Hash, catchIO)
 
 -- 'Tix ' is the storage format for our dynamic imformation about what
 -- boxes are ticked.
@@ -34,11 +34,11 @@ tixModuleTixs (TixModule  _ _ _ tixs) = tixs
 
 -- read a Tix File.
 readTix :: String
-       -> IO (Maybe Tix)
-readTix tix_filename = 
-  catch (do contents <- readFile $ tix_filename
-           return $ Just $ read contents)
-       (\ _ -> return $ Nothing)
+        -> IO (Maybe Tix)
+readTix tix_filename =
+  catchIO (do contents <- readFile $ tix_filename
+              return $ Just $ read contents)
+          (\ _ -> return $ Nothing)
 
 -- write a Tix File.
 writeTix :: String 
index 47a9ca0..371a9ef 100644 (file)
@@ -11,8 +11,10 @@ module Trace.Hpc.Util
        , insideHpcPos
        , HpcHash(..)
        , Hash
+       , catchIO
        ) where
 
+import qualified Control.Exception as Exception
 import Data.List(foldl')
 import Data.Char (ord)
 import Data.Bits (xor)
@@ -103,3 +105,7 @@ instance HpcHash HpcPos where
 
 hxor :: Hash -> Hash -> Hash
 hxor (Hash x) (Hash y) = Hash $ x `xor` y
+
+catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a
+catchIO = Exception.catch
+