On Wednesday, 21 November 2012 at 18:07:42 UTC, Jacob Carlborg
wrote:
On 2012-11-21 18:53, deadalnix wrote:
I don't understand why dropping () is that a big deal when
dropping &
isn't.
Now I'm really confused. What did you mean when you original
wrote:
"Note the map(reverse) and not map(&reverse)"
I meant that because of the fact that function isn't called
implicitly, it is possible to pass it directly without having the
& . The & is a source of noise as the () are and introduce really
complicated rules in the language to know if funName have to be
executed or not.
Scala's design is consistent on this point. D's isn't because we
pursue conflicting goals. Those have been conflated in a messy
implementation defined behavior ATM.
We have to accept to break some code here or to stick with
current implementation and accept that is is inconsistent and
messy (and sometime leading to very weird possibilities like
Timon Gehr demonstrated).