On 4/26/13 5:09 PM, Tyro[17] wrote:
On 4/26/13 4:15 PM, bearophile wrote:
Tyro[17]:
> While flip2 does:
>
> flip2!foo(a, b, c) === foo(b, a, c)
> flip2!foo(a, b, c, d) === foo(b, a, c, d)
and this rotate....
Really? Just swapping the first two arguments and leaving the others at
their place is for a "rotate"?
Actually, by brain was thinking it but my eyes saw something completely
different. You are correct, this what I would expect flip to do. Thanks.
Why flip in the first place?
I don't know, it's the name used in the Haskell Prelude.
Bye,
bearophile
With that clarification, I just have one more question, since flip does
what is intuitively implied by a reverse function and flip2 does what is
intuitively implied by a flip function, why not name them as such?
Understand the Haskell influence and all but, influence notwithstanding,
this is D so why not designate functions in a manner that intuitively
imply functionality?
I would expect a flip and flip2 if both accomplish the exact same thing
but both outperforms the other in certain scenarios thus warranting both
to be present.
Andrew