From 251845f83ea52965b5205fd231ffa2c87bb34de6 Mon Sep 17 00:00:00 2001 From: Andreas Källberg Date: Wed, 5 Aug 2020 16:20:35 +0200 Subject: First attempt at fixing incompabilities with newer cabal --- src/compiler/GF/Data/ErrM.hs | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'src/compiler/GF/Data') diff --git a/src/compiler/GF/Data/ErrM.hs b/src/compiler/GF/Data/ErrM.hs index 033c1efac..0cef54816 100644 --- a/src/compiler/GF/Data/ErrM.hs +++ b/src/compiler/GF/Data/ErrM.hs @@ -16,6 +16,10 @@ module GF.Data.ErrM where import Control.Monad (MonadPlus(..),ap) import Control.Applicative +#if !MIN_VERSION_base(4,11,0) +-- Control.Monad.Fail import is redundant since GHC 8.8.1 +import qualified Control.Monad.Fail as Fail +#endif -- | Like 'Maybe' type with error msgs data Err a = Ok a | Bad String @@ -33,10 +37,23 @@ fromErr a = err (const a) id instance Monad Err where return = Ok - fail = Bad Ok a >>= f = f a Bad s >>= f = Bad s +#if !(MIN_VERSION_base(4,11,0)) + fail = Bad +#endif + +instance Fail.MonadFail Err where + fail = Bad + +-- Control.Monad.Fail import will become redundant in GHC 8.8+ +import qualified Control.Monad.Fail as Fail + + + + + -- | added 2\/10\/2003 by PEB instance Functor Err where fmap f (Ok a) = Ok (f a) -- cgit v1.2.3