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