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

Reply via email to