Replace uses of the old catch function with the new one ghc-7.2 ghc-7.2.1-release ghc-7.2.2-release ghc-darcs-git-switchover
authorIan Lynagh <igloo@earth.li>
Sat, 18 Dec 2010 21:37:26 +0000 (21:37 +0000)
committerIan Lynagh <igloo@earth.li>
Sat, 18 Dec 2010 21:37:26 +0000 (21:37 +0000)
Control/Monad/Error.hs

index 63b0ec7..13c5061 100644 (file)
@@ -52,6 +52,7 @@ module Control.Monad.Error (
     -- $ErrorTExample
   ) where
 
+import qualified Control.Exception as Exception
 import Control.Monad
 import Control.Monad.Cont.Class
 import Control.Monad.Error.Class
@@ -70,11 +71,14 @@ import Control.Monad.Instances ()
 --
 instance MonadPlus IO where
     mzero       = ioError (userError "mzero")
-    m `mplus` n = m `catch` \_ -> n
+    m `mplus` n = m `catchIO` \_ -> n
 
 instance MonadError IOError IO where
     throwError = ioError
-    catchError = catch
+    catchError = catchIO
+
+catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a
+catchIO = Exception.catch
 
 -- ---------------------------------------------------------------------------
 -- Our parameterizable error monad