Fix AMP warnings
authorDavid Luposchainsky <dluposchainsky@gmail.com>
Fri, 6 Sep 2013 17:51:11 +0000 (19:51 +0200)
committerAustin Seipp <aseipp@pobox.com>
Sun, 8 Sep 2013 12:29:40 +0000 (07:29 -0500)
Signed-off-by: Austin Seipp <aseipp@pobox.com>
Language/Haskell/TH/PprLib.hs

index 42856bb..6f36fd7 100644 (file)
@@ -38,7 +38,8 @@ module Language.Haskell.TH.PprLib (
 import Language.Haskell.TH.Syntax
     (Name(..), showName', NameFlavour(..), NameIs(..))
 import qualified Text.PrettyPrint as HPJ
-import Control.Monad (liftM, liftM2)
+import Control.Applicative (Applicative(..))
+import Control.Monad (liftM, liftM2, ap)
 import Data.Map ( Map )
 import qualified Data.Map as Map ( lookup, insert, empty )
 import GHC.Base (Int(..))
@@ -147,6 +148,13 @@ data NameFlavour
 to_HPJ_Doc :: Doc -> HPJ.Doc
 to_HPJ_Doc d = fst $ runPprM d (Map.empty, 0)
 
+instance Functor PprM where
+      fmap = liftM
+
+instance Applicative PprM where
+      pure = return
+      (<*>) = ap
+
 instance Monad PprM where
     return x = PprM $ \s -> (x, s)
     m >>= k  = PprM $ \s -> let (x, s') = runPprM m s