Proposal: add `on` to the Prelude
Henning Thielemann
lemming at henning-thielemann.de
Fri Sep 13 11:53:55 UTC 2019
On Tue, 10 Sep 2019, David Feuer wrote:
> Every time I reach for Data.Function.on, I feel like a total dolt for having to import a module to get a function
> whose implementation is barely longer than the import. And it's a really good function too! Can we please add it
> to the Prelude?
> on :: (b -> b -> c) -> (a -> b) -> a -> a -> c
> (.*.) `on` f = \x y -> f x .*. f y
Most of the time I would use this I can use the more specific 'equating'
and 'comparing'.
I remember there was a lengthy discussion about the right name of 'on' and
adding it to Data.Function. I had no need for that function because at
this point I already had:
https://hackage.haskell.org/package/utility-ht-0.0.14/docs/Data-Function-HT.html#v:compose2
If I am right the short name 'on' was only adopted because it was not
(automatically) exported by Prelude.
More information about the Libraries
mailing list