@@ -41,9 +41,13 @@ import Data.Foldable (Foldable, foldl', foldMap)
41import Data.Function (on)
41import Data.Function (on)
42import Data.Map (Map)
42import Data.Map (Map)
43import Data.Map.Util
43import Data.Map.Util
44−import Data.Monoid
44+import Data.Monoid (Monoid(..))
45#if MIN_VERSION_base(4,9,0)
45#if MIN_VERSION_base(4,9,0)
46−import Data.Semigroup
46+import Data.Semigroup (Semigroup(..))
48+#if !(MIN_VERSION_base(4,8,0))
49+import Control.Applicative ((<$>))
50+import Data.Traversable
48import Prelude hiding (filter, lookup, null)
52import Prelude hiding (filter, lookup, null)
49import qualified Data.Map as M
53import qualified Data.Map as M
@@ -67,7 +71,8 @@ instance (Data k, Data a, Ord k) => Data (OMap k a) where
67 1 -> k (z fromList)
71 1 -> k (z fromList)
68 _ -> error "gunfold"
72 _ -> error "gunfold"
69 dataTypeOf _ = oMapDataType
73 dataTypeOf _ = oMapDataType
74+ -- dataCast2 /must/ be eta-expanded in order to build on GHC 7.8.
70− dataCast2 = gcast2
75+ dataCast2 f = gcast2 f
72fromListConstr :: Constr
77fromListConstr :: Constr
73fromListConstr = mkConstr oMapDataType "fromList" [] Prefix
78fromListConstr = mkConstr oMapDataType "fromList" [] Prefix