Revised RFC on range design for D2
Chris R. Miller
lordsauronthegreat at gmail.com
Sat Sep 27 23:08:43 PDT 2008
Andrei Alexandrescu wrote:
> Sergey Gromov wrote:
>> Sat, 27 Sep 2008 15:19:01 -0500,
>> Andrei Alexandrescu wrote:
>>> My point is that I agree with all concerns you are raising but I am not
>>> sure they warrant adding a language feature.
>>
>> I hoped for some reason that these features could simplify the
>> compiler. Now when I think about it I conclude that I was probably
>> wrong. Explicit properties is definitely a feature, even though it
>> seems easy to implement. Injectons could help if Walter were forced
>> into supporting different scoping rules for unified call syntax, but
>> if a.f(b) stays strictly a sugar for f(a,b) this feature helps nothing
>> from a compiler standpoint.
>>
>> So I'll probably agree that these features don't add much to the
>> language, as D doesn't add much to C except safety, productivity,
>> maintainability and claritiy. The clarity/maintainability vs
>> genericity is a tradeoff which is completely in Walter's hands.
>
> Very wise words.
>
> I think we all agree that there are some annoyances related to the whole
> property business, among which the main one is:
>
> writeln = 4;
>
> That is quite indefensible :o|. I consider the others rather minor, but
> that's just a personal opinion.
>
> How about this. Maybe if we attacked this annoyance in particular, that
> would be a large bang for the buck without a landslide change in the
> compiler. We only need some way to inform the compiler, "yes, it's ok to
> call a.b(c) as a.b = c". Ideas?
Just trying to think of something that could be easily parsed...
void foo(char t)!={ /*do something with t*/}
void bar(char t) { /*do something with t*/}
void main() {
foo('t'); // okay
foo='t'; // not okay because of the "!="
bar('t'); // okay
bar='t'; // okay
}
My thinking is that it doesn't break existing code. One could change
the order to precede the argument list, but I don't like that as much
because it becomes ambiguous when used in conjunction with templates.
Just my $0.02.
More information about the Digitalmars-d-announce
mailing list