From 8e8128252ee5d91a73526479f01ace8ba2537667 Mon Sep 17 00:00:00 2001 From: Daniel Fischer Date: Thu, 30 Sep 2010 19:17:31 +0000 Subject: Make intersectBy lazier Add shortcuts to intersectBy for empty list arguments. In addition to being faster in that case, more inputs yield defined results. Treats ticket #4323 --- libraries/base/Data/List.hs | 2 ++ 1 file changed, 2 insertions(+) (limited to 'libraries/base/Data/List.hs') diff --git a/libraries/base/Data/List.hs b/libraries/base/Data/List.hs index cc166d80de..c954757ddd 100644 --- a/libraries/base/Data/List.hs +++ b/libraries/base/Data/List.hs @@ -410,6 +410,8 @@ intersect = intersectBy (==) -- | The 'intersectBy' function is the non-overloaded version of 'intersect'. intersectBy :: (a -> a -> Bool) -> [a] -> [a] -> [a] +intersectBy _ [] _ = [] +intersectBy _ _ [] = [] intersectBy eq xs ys = [x | x <- xs, any (eq x) ys] -- | The 'intersperse' function takes an element and a list and -- cgit v1.2.1