Revised RFC on range design for D2
Benji Smith
dlanguage at benjismith.net
Tue Sep 30 22:58:20 PDT 2008
Bill Baxter wrote:
> On Tue, Sep 30, 2008 at 3:36 AM, Steven Schveighoffer
> <schveiguy at yahoo.com> wrote:
>>> There is no ambiguity either case. You evaluate Stdout.newline. The
>>> evaluation yields a value of some type. Then you evaluate formatln against
>>> that value.
>> OK, then tell me what this does:
>>
>> x.y.z();
>>
>> Is y a property/field of x or a function call with no args? I see a benefit
>> to being able to understand a line of code without requiring lots of extra
>> context. I have to do less lookups of the source of a function or property.
>
> The problem with this argument is that unless you disallow properties
> altogether, you still won't know whether y is actually a field or a
> call to a property method without looking it up.
>
> --bb
One thing that I've found especially annoying about the current
implementation is this:
x.y = 3; // Working code
x.y += 3; // Broken, if x.y is actually a function
x.y = x.y + 3; // Ugly work-around
I've been bitten by this at least a dozen different times. Having a real
property syntax would eliminate cases like that.
--benji
More information about the Digitalmars-d-announce
mailing list