Steven Schveighoffer wrote:
On Fri, 31 Jul 2009 12:13:55 -0400, Andrei Alexandrescu
<[email protected]> wrote:
Maybe we should vote on this too. BTW, seems like the last poll wasn't
quite the expected landslide against the dictature :o).
I think the poll might have been skewed due to context (forget my
newsgroup poll, that was worthy of an abortion, but I also didn't mean
to submit it :), I'm talking about Ary's)
The question was asked, what do you think this code means. In the
context of D, where you know a symbol without parentheses can mean
either a function or a property/field, I'm certain there were several
respondants who didn't understand it was asking what they think is best,
not *what D currently does*. Ask that same questions to C++ developers
and see what you get...
It's hard to phrase the question properly without bias to a group of
people who already know the current behavior. Maybe something like:
Assume the D programming language required parentheses for normal
parameter-less functions, and required no parentheses for parameter-less
functions that returned a property. For example, the following code
should imply a getter for a filter inside x:
auto tmp = x.filter;
And the following code should imply performing a filtering action using
x, returning the result:
auto tmp = x.filter();
Do you think it's worth adding such a capability, given that you will
then no longer be able to call ordinary parameter-less functions without
parentheses, an author of a property function must properly indicate
that the function is a property, and the compiler must trust the author
for this implication?
There's one way to figure it out: Ask away!
Andrei