Am 20.11.2012 05:12, schrieb Andrei Alexandrescu:
> On 11/19/12 5:23 PM, Rob T wrote:
>> I don't have an answer, but there may be more to the picture than we think.
> 
> I agree. In particular I find it a specious argument to insist on religiously 
> associating "()" with
> function calling and the lack thereof with variable access. I don't see 
> myself, when seeing an
> expression like "generator(x, y, z).map!(x => x * x)()", going like "holy 
> cow, good I saw those
> trailing parens, otherwise I would've sworn it was a variable". Trailing 
> parens in UFCS chains are
> just warts, this is the reality. Let's deal with it.
> 
> 
> Andrei

Isn't it more that they seem like warts whenever a parameterless (or 
pseudo-parameterless in the
case of UFCS) template function is called, because template instantiations 
already look a lot like
function calls?

Anyway, my take on this is, while I find it a bit sad, that there is no visual 
distinction between
variables and functions for various reasons, in the presence of properties this 
distinction has
already gone long time ago. So realistically this argument has no weight 
anymore. Personally, I
started to like a partially relaxed approach like the one Adam Ruppe describes 
a lot, so a DIP would
definitely be a great step.

Reply via email to