git.iko.soy/typeable/ordered-containers
on master help sign in
Fix the build on old GHCs

Fixes #11. Fixes #12.

commit15bc9f91ea02ba2493711ef6093d027502d418d4 authorRyan Scott <ryan.gl.scott@gmail.com> dateMon 25 Mar 2019, 07:57 (8 years ago) parent809b437
2 files changed+12−6
Data/Map/Ordered.hs+8−3 Data/Set/Ordered.hs+4−3
Data/Map/Ordered.hs+8−3
@@ -41,9 +41,13 @@ import Data.Foldable (Foldable, foldl', foldMap)
4141import Data.Function (on)
4242import Data.Map (Map)
4343import Data.Map.Util
44−import Data.Monoid
44+import Data.Monoid (Monoid(..))
4545#if MIN_VERSION_base(4,9,0)
46−import Data.Semigroup
46+import Data.Semigroup (Semigroup(..))
47+#endif
48+#if !(MIN_VERSION_base(4,8,0))
49+import Control.Applicative ((<$>))
50+import Data.Traversable
4751#endif
4852import Prelude hiding (filter, lookup, null)
4953import qualified Data.Map as M
@@ -67,7 +71,8 @@ instance (Data k, Data a, Ord k) => Data (OMap k a) where
6771 1 -> k (z fromList)
6872 _ -> error "gunfold"
6973 dataTypeOf _ = oMapDataType
70− dataCast2 = gcast2
74+ -- dataCast2 /must/ be eta-expanded in order to build on GHC 7.8.
75+ dataCast2 f = gcast2 f
7176
7277fromListConstr :: Constr
7378fromListConstr = mkConstr oMapDataType "fromList" [] Prefix
Data/Set/Ordered.hs+4−3
@@ -36,9 +36,9 @@ import Data.Foldable (Foldable, foldl', foldMap, foldr, toList)
3636import Data.Function (on)
3737import Data.Map (Map)
3838import Data.Map.Util
39−import Data.Monoid
39+import Data.Monoid (Monoid(..))
4040#if MIN_VERSION_base(4,9,0)
41−import Data.Semigroup
41+import Data.Semigroup (Semigroup(..))
4242#endif
4343import Data.Set (Set) -- so the haddocks link to the right place
4444import Prelude hiding (filter, foldr, lookup, null)
@@ -63,7 +63,8 @@ instance (Data a, Ord a) => Data (OSet a) where
6363 1 -> k (z fromList)
6464 _ -> error "gunfold"
6565 dataTypeOf _ = oSetDataType
66− dataCast1 = gcast1
66+ -- dataCast1 /must/ be eta-expanded in order to build on GHC 7.8.
67+ dataCast1 f = gcast1 f
6768
6869fromListConstr :: Constr
6970fromListConstr = mkConstr oSetDataType "fromList" [] Prefix