diff options
-rw-r--r-- | compiler/cmm/MkGraph.hs | 6 | ||||
-rw-r--r-- | compiler/typecheck/TcSMonad.lhs | 6 |
2 files changed, 10 insertions, 2 deletions
diff --git a/compiler/cmm/MkGraph.hs b/compiler/cmm/MkGraph.hs index bba3d4a88a..6f9bbf8872 100644 --- a/compiler/cmm/MkGraph.hs +++ b/compiler/cmm/MkGraph.hs @@ -27,11 +27,15 @@ import Compiler.Hoopl hiding (Unique, (<*>), mkFirst, mkMiddle, mkLast, mkLabel, import DynFlags import FastString import ForeignCall -import Prelude hiding (succ) import SMRep (ByteOff) import UniqSupply import OrdList +import Control.Monad +import Data.List +import Data.Maybe +import Prelude (($),Int,Eq(..)) -- avoid importing (<*>) + #include "HsVersions.h" diff --git a/compiler/typecheck/TcSMonad.lhs b/compiler/typecheck/TcSMonad.lhs index 3a01e31eb2..8e23132c34 100644 --- a/compiler/typecheck/TcSMonad.lhs +++ b/compiler/typecheck/TcSMonad.lhs @@ -133,7 +133,7 @@ import UniqFM import Maybes ( orElse, catMaybes, firstJust ) import Pair ( pSnd ) -import Control.Monad( when, zipWithM ) +import Control.Monad( ap, when, zipWithM ) import Data.IORef import TrieMap @@ -989,6 +989,10 @@ newtype TcS a = TcS { unTcS :: TcSEnv -> TcM a } instance Functor TcS where fmap f m = TcS $ fmap f . unTcS m +instance Applicative TcS where + pure = return + (<*>) = ap + instance Monad TcS where return x = TcS (\_ -> return x) fail err = TcS (\_ -> fail err) |