#2528: reverse the order of args to (==) in nubBy to match nub
authorSimon Marlow <marlowsd@gmail.com>
Tue, 2 Sep 2008 09:29:50 +0000 (09:29 +0000)
committerSimon Marlow <marlowsd@gmail.com>
Tue, 2 Sep 2008 09:29:50 +0000 (09:29 +0000)
This only makes a difference when the (==) definition is not
reflexive, but strictly speaking it does violate the report definition
of nubBy, so we should fix it.

Data/List.hs

index af6b3f5..aca5cac 100644 (file)
@@ -342,7 +342,7 @@ nubBy eq l              = nubBy' l []
 -- 'y' is the potential new element
 elem_by :: (a -> a -> Bool) -> a -> [a] -> Bool
 elem_by _  _ []         =  False
-elem_by eq y (x:xs)     =  x `eq` y || elem_by eq y xs
+elem_by eq y (x:xs)     =  y `eq` x || elem_by eq y xs
 #endif