Proposal: add `on` to the Prelude

David Feuer david.feuer at gmail.com
Sun Sep 15 02:17:57 UTC 2019


I consider equating (and comparing) a bit of an anti-pattern. They're extra
names to express what `on` does more generally, and barely save any
characters over it

On Sat, Sep 14, 2019, 2:51 PM Erik Hesselink <hesselink at gmail.com> wrote:

> On Fri, 13 Sep 2019 at 13:54, Henning Thielemann <
> lemming at henning-thielemann.de> wrote:
>
>>
>> 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'.
>>
>
> Does 'equating' exist in base now? I've always missed having that function
> in the past, and defined it myself many times.
>
> Erik
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/libraries/attachments/20190914/517713ef/attachment.html>


More information about the Libraries mailing list