X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fghci%2FGhciMonad.hs;h=f7c5c019b0768484892cde9a682e9eff42f51500;hb=9b2cd28e7be049d7abaff2cb9c0cda8eb67932f4;hp=387d17eb168adb32dc72ada1544e1ba07c30676b;hpb=aa9a4f1053d3c554629a2ec25955e7530c95b892;p=ghc-hetmet.git diff --git a/compiler/ghci/GhciMonad.hs b/compiler/ghci/GhciMonad.hs index 387d17e..f7c5c01 100644 --- a/compiler/ghci/GhciMonad.hs +++ b/compiler/ghci/GhciMonad.hs @@ -28,13 +28,11 @@ import StaticFlags import Data.Maybe import Numeric -import Exception import Data.Array import Data.Char import Data.Int ( Int64 ) import Data.IORef import Data.List -import Data.Typeable import System.CPUTime import System.Directory import System.Environment @@ -140,9 +138,9 @@ instance Monad GHCi where instance Functor GHCi where fmap f m = m >>= return . f -ghciHandleDyn :: Typeable t => (t -> GHCi a) -> GHCi a -> GHCi a -ghciHandleDyn h (GHCi m) = GHCi $ \s -> - Exception.catchDyn (m s) (\e -> unGHCi (h e) s) +ghciHandleGhcException :: (GhcException -> GHCi a) -> GHCi a -> GHCi a +ghciHandleGhcException h (GHCi m) = GHCi $ \s -> + handleGhcException (\e -> unGHCi (h e) s) (m s) getGHCiState :: GHCi GHCiState getGHCiState = GHCi $ \r -> readIORef r