From cd5193b7e19e7ff5e49cdeafe149fdeec8e19fb0 Mon Sep 17 00:00:00 2001 From: hallgren Date: Wed, 13 Aug 2014 22:16:18 +0000 Subject: Fix warnings in 16 modules, mostly forward compatibility warnings from GHC 7.8 --- src/runtime/haskell/PGF/TypeCheck.hs | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/runtime') diff --git a/src/runtime/haskell/PGF/TypeCheck.hs b/src/runtime/haskell/PGF/TypeCheck.hs index 0818aeb4a..8860ed17b 100644 --- a/src/runtime/haskell/PGF/TypeCheck.hs +++ b/src/runtime/haskell/PGF/TypeCheck.hs @@ -37,6 +37,7 @@ import Data.Map as Map import Data.IntMap as IntMap import Data.Maybe as Maybe import Data.List as List +import Control.Applicative import Control.Monad --import Control.Monad.Identity import Control.Monad.State @@ -92,10 +93,18 @@ class Selector s where splitSelector :: s -> (s,s) select :: CId -> Scope -> Maybe Int -> TcM s (Expr,TType) +instance Applicative (TcM s) where + pure = return + (<*>) = ap + instance Monad (TcM s) where return x = TcM (\abstr k h -> k x) f >>= g = TcM (\abstr k h -> unTcM f abstr (\x -> unTcM (g x) abstr k h) h) +instance Selector s => Alternative (TcM s) where + empty = mzero + (<|>) = mplus + instance Selector s => MonadPlus (TcM s) where mzero = TcM (\abstr k h ms s -> id) mplus f g = TcM (\abstr k h ms s -> let (s1,s2) = splitSelector s -- cgit v1.2.3