[Haskell-cafe] Syntax proposal for "reverse apply"/"pipeline apply" (flip ($))
Taylor Hedberg
t at tmh.cc
Wed Apr 16 23:43:45 UTC 2014
lens defines & for this purpose (not that one would want to pull in the
behemoth that is lens as a dependency just for that).
On Wed, Apr 16, 2014 at 3:25 PM, Alexey Muranov <alexey.muranov at gmail.com>wrote:
> Hello,
>
> i am completely new to Haskell, but i am somewhat fascinated by
> lambda-calculus and programming.
>
> For whatever it is worth, i would like to propose for discussion a syntax
> for "(flip ($))" operation in Haskell.
>
> I think that a good syntax would be "|^", for example:
>
> square x = x * x
> y = 3 |^ square -- y == 9
>
>
> Explanation:
>
> * i would have suggested just ^, but it would conflict with number
> exponentiation,
>
> * it is rather common in mathematics to write function application in
> exponential notation: x ^ f instead of f(x), especially if f is an
> automorphism of some structure,
>
> * (flip ($)) is exactly the exponentiation of Church numerals,
>
> * in "The calculi of lambda-conversion", Alonzo Church uses the
> "shorthand" notation "[N^M]" for "(MN)", where M and N are lambda-terms.
>
> * I am probably not the only person missing the ability to apply functions
> from the right:
>
> http://stackoverflow.com/questions/1457140/haskell-composition-vs-fs-pipe-forward-operator
>
> Well, other notations i've thought of are "\^" and "~$".
>
> Alexey.
> _______________________________________________
> 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/20140416/9fdfa798/attachment.html>
More information about the Haskell-Cafe
mailing list