new DIP5: Properties 2
Steven Schveighoffer
schveiguy at yahoo.com
Fri Jul 31 10:07:27 PDT 2009
On Fri, 31 Jul 2009 12:13:55 -0400, Andrei Alexandrescu
<SeeWebsiteForEmail at erdani.org> 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?
-Steve
More information about the Digitalmars-d
mailing list