Please apply the comparison function given to nubBy to elements of the list in the order in which they occur in the list.

Malcolm Wallace malcolm.wallace at
Tue Sep 20 13:32:26 CEST 2011

If this is a _proposal_ to change ghc's non-Report-compatible Data.List implementation to match the behaviour of the Report implementation, then count me as a +1.

> I think an important convention when it comes to higher order
> functions on lists is that to the extent which is possible, the
> function parameters take elements from the list (or things computed
> from those) in the order in which they occur in the original list.

This seems like an entirely reasonable principle.

> I'm aware that the Report (strangely!) explicitly leaves the behaviour
> of nubBy unspecified for functions which are not equivalence
> relations, but the behaviour given by the Report implementation (the
> opposite of the current behaviour in GHC) is useful and desirable
> nonetheless.

I notice that the Haskell'98 Report gives a sample implementation, but the Haskell'2010 Report does not.  I wonder if this is a regression, since in days of yore, the Report implementation was treated as a gold standard reference for questions about function semantics, strictness and so forth.


More information about the Haskell-prime mailing list