
On Fri, 2006-11-03 at 13:23 +0100, Nils Anders Danielsson wrote:
On Thu, 02 Nov 2006, Duncan Coutts
wrote: I wonder about how this relates to 'comparing' which we already have in Data.Ord. Does adding 'on' mean we should remove 'comparing' ?
I would suggest we keep both and add 'equating' to Data.Eq too, for symmetry with 'comparing'.
I think it's just as easy to understand (compare `on` f) as (comparing f), so having both just adds extra complexity. Hence I place comparing _under_ the Fairbairn threshold.
groupBy ((==) `on` fst) vs groupBy (equating fst) well, I disagree. Yes it's a special case, but I would use it in the common special case and use `on` in the rarer general case. But no matter. So do you suggest that we deprecate and remove comparing? Or do you think we should have comparing but not equating, leaving it asymmetric and just claim that comparing was added too soon but couldn't be removed? If the latter then perhaps you want to add a comment to the comparing docs: Don't use @comparing foo@, use @compare `on` foo@. Duncan