Make MonadIO a superclass of ExceptionMonad
authorIan Lynagh <ian@well-typed.com>
Wed, 30 Jan 2013 16:05:36 +0000 (16:05 +0000)
committerIan Lynagh <ian@well-typed.com>
Wed, 30 Jan 2013 17:43:45 +0000 (17:43 +0000)
compiler/utils/Exception.hs

index db5bcad..9d196fd 100644 (file)
@@ -7,6 +7,7 @@ module Exception
     where
 
 import Control.Exception
+import Control.Monad.IO.Class
 
 catchIO :: IO a -> (IOException -> IO a) -> IO a
 catchIO = Control.Exception.catch
@@ -27,7 +28,7 @@ tryIO = try
 -- implementations of 'gbracket' and 'gfinally' use 'gblock' and 'gunblock'
 -- thus rarely require overriding.
 --
-class Monad m => ExceptionMonad m where
+class MonadIO m => ExceptionMonad m where
 
   -- | Generalised version of 'Control.Exception.catch', allowing an arbitrary
   -- exception handling monad instead of just 'IO'.