Commit 63dde2e3 by Ian Lynagh

### Fix build with GHC 6.10

```In GHC 6.10, intersectionWith is (a -> b -> a) instead of (a -> b -> c),
so we need to jump through some hoops to get the more general type.```
parent 5b9c4a01
 ... @@ -183,7 +183,20 @@ plusUFM (UFM x) (UFM y) = UFM (M.union y x) ... @@ -183,7 +183,20 @@ plusUFM (UFM x) (UFM y) = UFM (M.union y x) plusUFM_C f (UFM x) (UFM y) = UFM (M.unionWith f x y) plusUFM_C f (UFM x) (UFM y) = UFM (M.unionWith f x y) minusUFM (UFM x) (UFM y) = UFM (M.difference x y) minusUFM (UFM x) (UFM y) = UFM (M.difference x y) intersectUFM (UFM x) (UFM y) = UFM (M.intersection x y) intersectUFM (UFM x) (UFM y) = UFM (M.intersection x y) #if __GLASGOW_HASKELL__ >= 611 intersectUFM_C f (UFM x) (UFM y) = UFM (M.intersectionWith f x y) intersectUFM_C f (UFM x) (UFM y) = UFM (M.intersectionWith f x y) #else -- In GHC 6.10, intersectionWith is (a -> b -> a) instead of (a -> b -> c), -- so we need to jump through some hoops to get the more general type. intersectUFM_C f (UFM x) (UFM y) = UFM z where z = let x' = M.map Left x f' (Left a) b = Right (f a b) f' (Right _) _ = panic "intersectUFM_C: f': Right" z' = M.intersectionWith f' x' y fromRight (Right a) = a fromRight _ = panic "intersectUFM_C: Left" in M.map fromRight z' #endif foldUFM k z (UFM m) = M.fold k z m foldUFM k z (UFM m) = M.fold k z m foldUFM_Directly k z (UFM m) = M.foldWithKey (k . getUnique) z m foldUFM_Directly k z (UFM m) = M.foldWithKey (k . getUnique) z m ... ...
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment