summaryrefslogtreecommitdiff
path: root/www/hs-activehs/files/patch-Simple.hs
diff options
context:
space:
mode:
Diffstat (limited to 'www/hs-activehs/files/patch-Simple.hs')
-rw-r--r--www/hs-activehs/files/patch-Simple.hs38
1 files changed, 38 insertions, 0 deletions
diff --git a/www/hs-activehs/files/patch-Simple.hs b/www/hs-activehs/files/patch-Simple.hs
new file mode 100644
index 000000000000..585e6ef9f436
--- /dev/null
+++ b/www/hs-activehs/files/patch-Simple.hs
@@ -0,0 +1,38 @@
+--- ./Simple.hs.orig 2013-02-12 20:23:45.000000000 +0100
++++ ./Simple.hs 2014-07-14 02:44:00.000000000 +0200
+@@ -19,9 +19,10 @@
+ import Control.Concurrent (forkIO)
+ import Control.Concurrent.MVar (MVar, newEmptyMVar, takeMVar, putMVar)
+ import Control.Concurrent.Chan (Chan, newChan, readChan, writeChan)
+-import Control.Exception (SomeException, catch)
++import Control.Exception (SomeException)
++import qualified Control.Exception as CE
+ import Control.Monad (when, forever)
+-import Control.Monad.Error (MonadError, catchError)
++import Control.Monad.Catch (catch)
+ import Data.List (isPrefixOf)
+ --import Prelude hiding (catch)
+
+@@ -42,7 +43,7 @@
+ _ <- forkIO $ forever $ do
+ logStrMsg 1 log "start interpreter"
+ e <- runInterpreter (handleTask ch Nothing)
+- `catch` \(e :: SomeException) ->
++ `CE.catch` \(e :: SomeException) ->
+ return $ Left $ UnknownError "GHCi server died."
+ case e of
+ Left e -> logStrMsg 0 log $ "stop interpreter: " ++ show e
+@@ -95,10 +96,10 @@
+ fatal (NotAllowed _) = False
+ fatal _ = True
+
+-catchError_fixed
+- :: MonadError InterpreterError m
++catchError_fixed
++ :: MonadInterpreter m
+ => m a -> (InterpreterError -> m a) -> m a
+-m `catchError_fixed` f = m `catchError` (f . fixError)
++m `catchError_fixed` f = m `catch` (f . fixError)
+ where
+ fixError (UnknownError s)
+ | Just x <- dropPrefix "GHC returned a result but said: [GhcError {errMsg =" s