hint 0.4.0.0 → 0.4.1.0
raw patch · 3 files changed
+15/−9 lines, 3 filesdep ~exceptionsdep ~ghc-mtl
Dependency ranges changed: exceptions, ghc-mtl
Files
- CHANGELOG.markdown +5/−0
- hint.cabal +5/−4
- src/Hint/InterpreterT.hs +5/−5
CHANGELOG.markdown view
@@ -1,3 +1,8 @@+0.4.1.0+-------++ * Based on exceptions-0.4+ 0.4.0.0 ------- * Compiles with ghc 7.8
hint.cabal view
@@ -1,5 +1,5 @@ name: hint-version: 0.4.0.0+version: 0.4.1.0 description: This library defines an @Interpreter@ monad. It allows to load Haskell modules, browse them, type-check and evaluate strings with Haskell@@ -38,7 +38,7 @@ ,filepath ,mtl ,extensible-exceptions- ,exceptions >= 0.3.2, exceptions < 0.4+ ,exceptions Library build-depends: ghc > 6.6,@@ -47,15 +47,16 @@ filepath, utf8-string, extensible-exceptions,- exceptions >= 0.3.2, exceptions < 0.4+ exceptions if impl(ghc >= 6.8) { build-depends: random, directory if impl(ghc >= 6.10) { build-depends: base >= 4, base < 5,- ghc-mtl == 1.1.*+ ghc-mtl == 1.2.* -- version 1.1.* uses exceptions instead of MonadCatchIO+ -- version 1.2.* uses the exceptions-0.4 api } else { build-depends: base >= 3, base < 4 }
src/Hint/InterpreterT.hs view
@@ -39,7 +39,7 @@ newtype InterpreterT m a = InterpreterT{ unInterpreterT :: ReaderT InterpreterSession (ErrorT InterpreterError m) a}- deriving (Functor, Monad, MonadIO, MonadCatch)+ deriving (Functor, Monad, MonadIO, MonadThrow,MonadCatch) execute :: (MonadIO m, MonadCatch m, Functor m) => InterpreterSession@@ -50,7 +50,7 @@ instance MonadTrans InterpreterT where lift = InterpreterT . lift . lift -runGhc_impl :: (MonadIO m, MonadCatch m, Functor m) => RunGhc (InterpreterT m) a+runGhc_impl :: (MonadIO m, MonadThrow m, MonadCatch m, Functor m) => RunGhc (InterpreterT m) a runGhc_impl f = do s <- fromSession versionSpecific -- i.e. the ghc session r <- liftIO $ f' s either throwError return r@@ -63,7 +63,7 @@ newtype InterpreterT m a = InterpreterT{ unInterpreterT :: ReaderT InterpreterSession (GHC.GhcT m) a}- deriving (Functor, Monad, MonadIO, MonadCatch)+ deriving (Functor, Monad, MonadIO, MonadThrow, MonadCatch) execute :: (MonadIO m, MonadCatch m, Functor m) => InterpreterSession@@ -78,7 +78,7 @@ instance MonadTrans InterpreterT where lift = InterpreterT . lift . lift -runGhc_impl :: (MonadIO m, MonadCatch m, Functor m) => RunGhc (InterpreterT m) a+runGhc_impl :: (MonadIO m, MonadThrow m, MonadCatch m, Functor m) => RunGhc (InterpreterT m) a runGhc_impl a = InterpreterT (lift a) `catches`@@ -99,7 +99,7 @@ -- ================= Executing the interpreter ================== -initialize :: (MonadIO m, MonadCatch m, Functor m)+initialize :: (MonadIO m, MonadThrow m, MonadCatch m, Functor m) => [String] -> InterpreterT m () initialize args =