on master help sign in
Merge pull request #1857 from david-christiansen/fix-monad-trans

Relax lower bound on mtl

commit43ba51641a13854a1abd07f15601d367bb6e2734 authorDavid Christiansen <david@davidchristiansen.dk> dateSat 17 Jan 2015, 12:55 (12 years ago) parentd3db06660e4921
8 files changed+13−8
idris.cabal+2−1 src/Idris/AbsSyntax.hs−1 src/Idris/AbsSyntaxTree.hs+7 src/Idris/Core/Execute.hs+2−2 src/Idris/Error.hs−1 src/Idris/Output.hs+1−1 src/Idris/Parser.hs−1 src/Pkg/Package.hs+1−1
idris.cabal+2−1
@@ -751,7 +751,7 @@ Library
751751 , fingertree >= 0.1 && < 0.2
752752 , haskeline >= 0.7 && < 0.8
753753 , lens >= 4.1.1 && < 4.8
754− , mtl >= 2.2.1 && < 2.3
754+ , mtl >= 2.1 && < 2.3
755755 , network < 2.7
756756 , optparse-applicative >= 0.11 && < 0.12
757757 , parsers >= 0.9 && < 0.13
@@ -761,6 +761,7 @@ Library
761761 , text < 1.3
762762 , time >= 1.4 && < 1.6
763763 , transformers < 0.5
764+ , transformers-compat >= 0.3
764765 , trifecta >= 1.1 && < 1.6
765766 , uniplate >=1.6 && < 1.7
766767 , unordered-containers < 0.3
src/Idris/AbsSyntax.hs−1
@@ -19,7 +19,6 @@ import System.IO
1919
2020import Control.Applicative
2121import Control.Monad.State
22−import Control.Monad.Except (throwError, catchError)
2322
2423import Data.List hiding (insert,union)
2524import Data.Char
src/Idris/AbsSyntaxTree.hs+7
@@ -20,6 +20,7 @@ import System.IO
2020
2121import Control.Monad.Trans.State.Strict
2222import Control.Monad.Trans.Except
23+import qualified Control.Monad.Trans.Class as Trans (lift)
2324
2425import Data.Data (Data)
2526import Data.Function (on)
@@ -310,6 +311,12 @@ idrisInit = IState initContext [] []
310311--type Idris = WriterT [Either String (IO ())] (State IState a))
311312type Idris = StateT IState (ExceptT Err IO)
312313
314+catchError :: Idris a -> (Err -> Idris a) -> Idris a
315+catchError = liftCatch catchE
316+
317+throwError :: Err -> Idris a
318+throwError = Trans.lift . throwE
319+
313320-- Commands in the REPL
314321
315322data Codegen = Via String
src/Idris/Core/Execute.hs+2−2
@@ -22,7 +22,7 @@ import Control.Applicative hiding (Const)
2222import Control.Exception
2323import Control.Monad.Trans
2424import Control.Monad.Trans.State.Strict
25−import Control.Monad.Except (ExceptT, runExceptT, throwError)
25+import Control.Monad.Trans.Except (ExceptT, runExceptT, throwE)
2626import Control.Monad hiding (forM)
2727import Data.Maybe
2828import Data.Bits
@@ -138,7 +138,7 @@ putExecState :: ExecState -> Exec ()
138138putExecState = lift . put
139139
140140execFail :: Err -> Exec a
141−execFail = throwError
141+execFail = throwE
142142
143143execIO :: IO a -> Exec a
144144execIO = lift . lift
src/Idris/Error.hs−1
@@ -17,7 +17,6 @@ import System.Console.Haskeline
1717import System.Console.Haskeline.MonadException
1818import Control.Monad (when)
1919import Control.Monad.State.Strict
20−import Control.Monad.Except (throwError, catchError)
2120import System.IO.Error(isUserError, ioeGetErrorString)
2221import Data.Char
2322import Data.List (intercalate, isPrefixOf)
src/Idris/Output.hs+1−1
@@ -13,7 +13,7 @@ import Idris.IdeSlave
1313import Util.Pretty
1414import Util.ScreenSize (getScreenWidth)
1515
16−import Control.Monad.Except (ExceptT (ExceptT), runExceptT, throwError)
16+import Control.Monad.Trans.Except (ExceptT (ExceptT), runExceptT)
1717
1818import System.Console.Haskeline.MonadException
1919 (MonadException (controlIO), RunIO (RunIO))
src/Idris/Parser.hs−1
@@ -50,7 +50,6 @@ import Idris.Core.Evaluate
5050
5151import Control.Applicative hiding (Const)
5252import Control.Monad
53−import Control.Monad.Except (throwError, catchError)
5453import Control.Monad.State.Strict
5554
5655import Data.Function
src/Pkg/Package.hs+1−1
@@ -12,7 +12,7 @@ import Util.System
1212
1313import Control.Monad
1414import Control.Monad.Trans.State.Strict (execStateT)
15−import Control.Monad.Except (runExceptT)
15+import Control.Monad.Trans.Except (runExceptT)
1616
1717import Data.List
1818import Data.List.Split(splitOn)