[Haskell-cafe] Syntax proposal for "reverse apply"/"pipeline apply" (flip ($))

Edward Kmett ekmett at gmail.com
Thu Apr 17 19:56:29 UTC 2014


The choice of fixity came about because actually the most common thing
replaced by (<&>) is actually (>>=), when the thing you are binding to no
longer has an effect, not actually (<$>), despite what the name suggests.

This made a non-trivial difference in the amount of parentheses in real
code, and was a conscious decision, so reverting it is not something I
would do lightly and breaks real code.

Back during the discussion of whether we should adopt (&), (<&>) also came
up, but with only one voice in favor, and nobody else really feeling
passionately, and with various colors like this available for the bikeshed
it was dropped.

-Edward



On Thu, Apr 17, 2014 at 3:32 PM, Hans Höglund <hans at hanshoglund.se> wrote:

>
> Can we argue about the fixity for (<&>)? I've always it as infixl 4, to
> mix it in with other applicative operators, e.g.:
>
> (:) <$> fx <*> fl
>
> becomes
>
> fx <&> (:) <*> fl
>
>>
> I agree, this seems to be a mistake in lens.
>
>
> Last I checked,
>>
>> (&) = flip ($)
>>
>> is both shorter to type, and more explicit than:
>>
>> import Control.Apply.Reverse
>>
>>   - Clark
>>
>>
> Well the purpose here is to propose a standard name and fixity, not to
> save keystrokes.
>
> When a lot of libraries start to define a (trivial) thing under different
> names, that to me is a good indication that it should be in the standard
> library. It is a matter of keeping the signal-to-noise ratio large, which
> greatly helps when reading unfamiliar code.
>
> Hans
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20140417/6c081e5f/attachment.html>


More information about the Haskell-Cafe mailing list