
Last I checked,
(&) = flip ($)
is both shorter to type, and more explicit than:
import Control.Apply.Reverse
- Clark
On Thu, Apr 17, 2014 at 2:03 PM, Hans Höglund
There is also is my humble attempt to standardize the (&) formulation:
http://hackage.haskell.org/package/reverse-apply
As you can see, these definitions now mirror those in 'lens' exactly. I see no reason why this definition should not move to base. IMHO, the Diagrams definition is a very specific one based on the needs of that EDSL, while the lens formulation is the expected one.
Mvh, Hans
On 17 apr 2014, at 14:00, haskell-cafe-request@haskell.org wrote:
Message: 1 Date: Wed, 16 Apr 2014 16:49:31 -0700 From: Dan Burton
To: Alexey Muranov Cc: haskell-cafe Subject: Re: [Haskell-cafe] Syntax proposal for "reverse apply"/"pipeline apply" (flip ($)) Message-ID: Content-Type: text/plain; charset="utf-8" In the "lens" package, this is (&) at infixl 1. In the "diagrams" package, this is (#) at infixl 8. You're certainly not the first to want this, but nobody can ever agree what it should be called or what fixity it should have. You can always just define it yourself.
-- Dan Burton
On Wed, Apr 16, 2014 at 3:25 PM, Alexey Muranov
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-fo...
Well, other notations i've thought of are "\^" and "~$".
Alexey.
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org