@@ -1,3 +1,4 @@
1{-# LANGUAGE DeriveFunctor #-}
2{-# LANGUAGE DeriveFunctor #-}
2{-# LANGUAGE FlexibleInstances #-}
3{-# LANGUAGE FlexibleInstances #-}
3{-# LANGUAGE FunctionalDependencies #-}
4{-# LANGUAGE FunctionalDependencies #-}
@@ -17,7 +18,9 @@ import Prelude.Compat
17import Control.Monad
18import Control.Monad
18import Control.Monad.Trans
19import Control.Monad.Trans
19import Control.Monad.Cont (ContT)
20import Control.Monad.Cont (ContT)
21+#if __GLASGOW_HASKELL__ >= 710
20−import Control.Monad.Error (Error, ErrorT)
22+import Control.Monad.Except (ExceptT)
21import Control.Monad.List (ListT)
24import Control.Monad.List (ListT)
22import Control.Monad.Reader (ReaderT)
25import Control.Monad.Reader (ReaderT)
23import Control.Monad.Trans.Identity (IdentityT)
26import Control.Monad.Trans.Identity (IdentityT)
@@ -151,12 +154,11 @@ instance MonadDeclare d m => MonadDeclare d (ContT r m) where
151 declare = lift . declare
154 declare = lift . declare
152 look = lift look
155 look = lift look
154−-- Note: deprecated, fails with -Wall
157+#if __GLASGOW_HASKELL__ >= 710
155−instance (Error e, MonadDeclare d m) => MonadDeclare d (ErrorT e m) where
158+instance MonadDeclare d m => MonadDeclare d (ExceptT e m) where
156 declare = lift . declare
159 declare = lift . declare
157 look = lift look
160 look = lift look
159−-- Note: ExceptT not provided because it is not available in ghc 7.8.
161instance MonadDeclare d m => MonadDeclare d (IdentityT m) where
163instance MonadDeclare d m => MonadDeclare d (IdentityT m) where
162 declare = lift . declare
164 declare = lift . declare