testsuite: fix T1735_Help/State.hs build failure (AMP)
authorSergei Trofimovich <slyfox@gentoo.org>
Mon, 6 Oct 2014 20:55:02 +0000 (21:55 +0100)
committerSergei Trofimovich <slyfox@gentoo.org>
Mon, 6 Oct 2014 21:03:07 +0000 (22:03 +0100)
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
testsuite/tests/typecheck/should_run/T1735_Help/State.hs

index 7b048eb..d696af7 100644 (file)
@@ -1,6 +1,9 @@
 \r
 module T1735_Help.State where\r
 \r
 \r
 module T1735_Help.State where\r
 \r
+import Control.Monad (ap, liftM)\r
+\r
+\r
 newtype StateT s m a = StateT { runStateT :: s -> m (a,s) }\r
 \r
 instance Monad m => Monad (StateT s m) where\r
 newtype StateT s m a = StateT { runStateT :: s -> m (a,s) }\r
 \r
 instance Monad m => Monad (StateT s m) where\r
@@ -10,6 +13,13 @@ instance Monad m => Monad (StateT s m) where
         runStateT (k a) s'\r
     fail str = StateT $ \_ -> fail str\r
 \r
         runStateT (k a) s'\r
     fail str = StateT $ \_ -> fail str\r
 \r
+instance Monad m => Functor (StateT s m) where\r
+    fmap = liftM\r
+\r
+instance Monad m => Applicative (StateT s m) where\r
+    pure  = return\r
+    (<*>) = ap\r
+\r
 get :: Monad m => StateT s m s\r
 get = StateT $ \s -> return (s, s)\r
 \r
 get :: Monad m => StateT s m s\r
 get = StateT $ \s -> return (s, s)\r
 \r