blob: 2773bdc5a631645b3b07b1b46db2f8c517faf957 [file] [log] [blame]
--- syb-0.4.3-orig/tests/XML.hs 2014-12-31 19:40:41.000000000 +1100
+++ syb-0.4.3/tests/XML.hs 2015-01-02 12:47:10.082782760 +1100
@@ -13,6 +13,7 @@
import Test.HUnit
+import Control.Applicative (Alternative(..), Applicative(..))
import Control.Monad
import Data.Maybe
import Data.Generics
@@ -157,6 +158,17 @@
else Just (tail x, head x)
)
+instance Functor ReadX where
+ fmap = liftM
+
+instance Applicative ReadX where
+ pure = return
+ (<*>) = ap
+
+instance Alternative ReadX where
+ (<|>) = mplus
+ empty = mzero
+
-- ReadX is a monad!
instance Monad ReadX where
return x = ReadX (\y -> Just (y,x))
--- syb-0.4.3-orig/tests/Perm.hs 2014-12-31 19:40:41.000000000 +1100
+++ syb-0.4.3/tests/Perm.hs 2015-01-02 12:47:02.751422866 +1100
@@ -11,6 +11,7 @@
import Test.HUnit
+import Control.Applicative (Alternative(..), Applicative(..))
import Control.Monad
import Data.Generics
@@ -44,6 +45,17 @@
else Just (tail x, head x)
)
+instance Functor ReadT where
+ fmap = liftM
+
+instance Applicative ReadT where
+ pure = return
+ (<*>) = ap
+
+instance Alternative ReadT where
+ (<|>) = mplus
+ empty = mzero
+
-- ReadT is a monad!
instance Monad ReadT where
return x = ReadT (\y -> Just (y,x))
--- syb-0.4.3-orig/tests/Bits.hs 2014-12-31 19:40:41.000000000 +1100
+++ syb-0.4.3/tests/Bits.hs 2015-01-02 12:46:37.842839944 +1100
@@ -39,6 +39,7 @@
import Data.Generics
import Data.Char
import Data.Maybe
+import Control.Applicative (Alternative(..), Applicative(..))
import Control.Monad
import CompanyDatatypes
@@ -129,6 +130,16 @@
data ReadB a = ReadB (Bin -> (Maybe a, Bin))
unReadB (ReadB f) = f
+instance Functor ReadB where
+ fmap = liftM
+
+instance Applicative ReadB where
+ pure = return
+ (<*>) = ap
+
+instance Alternative ReadB where
+ (<|>) = mplus
+ empty = mzero
-- It's a monad.
instance Monad ReadB where
--- syb-0.4.3-orig/tests/Encode.hs 2014-12-31 19:40:41.000000000 +1100
+++ syb-0.4.3/tests/Encode.hs 2015-01-02 12:51:48.500949407 +1100
@@ -6,6 +6,8 @@
module Encode () where
+import Control.Applicative (Applicative(..))
+import Control.Monad (ap, liftM)
import Data.Generics
data Bit = Zero | One
@@ -62,6 +64,11 @@
-- Sec. 3.3 cont'd
data EncM a -- The encoder monad
+instance Functor EncM where
+ fmap = liftM
+instance Applicative EncM where
+ pure = return
+ (<*>) = ap
instance Monad EncM
where
return = undefined
--- syb-0.4.3-orig/tests/GRead2.hs 2014-12-31 19:40:41.000000000 +1100
+++ syb-0.4.3/tests/GRead2.hs 2015-01-02 12:51:27.524567019 +1100
@@ -10,6 +10,8 @@
-}
+import Control.Applicative (Applicative(..))
+import Control.Monad (ap, liftM)
import Data.Generics
gread :: Data a => String -> Maybe a
@@ -18,6 +20,13 @@
-- The decoder monad
newtype DecM a = D (String -> Maybe (String, a))
+instance Functor DecM where
+ fmap = liftM
+
+instance Applicative DecM where
+ pure = return
+ (<*>) = ap
+
instance Monad DecM where
return a = D (\s -> Just (s,a))
(D m) >>= k = D (\s ->
--- syb-0.4.3-orig/tests/Ext1.hs 2014-12-31 19:40:41.000000000 +1100
+++ syb-0.4.3/tests/Ext1.hs 2015-01-02 10:30:39.396517984 +1100
@@ -1,4 +1,5 @@
{-# OPTIONS -fglasgow-exts #-}
+{-# LANGUAGE CPP #-}
module Ext1 (tests) where
@@ -11,8 +12,11 @@
import Test.HUnit
import Data.Generics
+#if MIN_VERSION_base(4,8,0)
+import GHC.Base hiding(foldr)
+#else
import GHC.Base
-
+#endif
-- Unsafe coerce
unsafeCoerce :: a -> b