Resolve name collsion of `first` and `second` by Control.Arrow and Data.Bifunctor

Henning Thielemann lemming at henning-thielemann.de
Wed May 9 11:49:56 UTC 2018


On Wed, 9 May 2018, Wolfgang Jeltsch wrote:

> Eric Mertens wrote:
>
>       In modern code it should be fairly rare to import Control.Arrow. 
> 
> 
> Edward Kmett wrote:
>
>       […] in an attempt to help lead people away from Control.Arrow.
> 
> 
> I’m irritated. Can someone explain what is wrong about Control.Arrow?

I think there is nothing wrong about Arrow, but people abused Arrow.first 
and Arrow.second for plain function arrow and now we have Bifunctor which 
is the more appropriate abstraction for most uses of 'first' and 'second'. 
(Though I guess that most uses need no abstraction at all.)


More information about the Libraries mailing list