Extended Type Design.

Frits van Bommel fvbommel at REMwOVExCAPSs.nl
Fri Mar 16 11:03:02 PDT 2007


Benji Smith wrote:
> Andrei Alexandrescu (See Website For Email) wrote:
>> We've shoved keywords like "readonly" and "view" for a while, and they 
>> just added more confusion than cleared, at a high cost. If (as I 
>> suspect) super const appears relatively infrequently, it might be fine 
>> to just encode it as the mildly verbose "super const". In fact, it's 
>> shorter than "keepyourgrubbyhandsoff". :o)
>>
>> Andrei
> 
> Really? I'd think super const would be used all the time. Anywhere a 
> class has some invariant field, it'll probably be expressed as super 
> const (if I'm understanding correctly that super const is the equivalent 
> of #define constants in C++ or static final constants in Java).
> 
> Let me join the ranks of those who hate both versions of the new syntax. 
>  const! looks either like a template or like "not const". You guys may 
> think you're saving a keyword, and that might be technically correct 
> from the perspective of the parser. But, for the perspective of the D 
> developer, it still looks like you've introduced a new keyword, but it's 
> a keyword that's A) nearly identical to another keyword, and B) contains 
> a symbol. Ugh. I really. Really. Really. Hate it.
> 
> Using "super const" is also annoying because all of the other storage 
> classes use a single keyword. Now we've got this weird case that uses 
> two keywords. And the word "super" is now overloaded in two completely 
> unrelated concepts.
> 
> (By the way, I don't like "static if" either. I think the right choice 
> would have been #if, #foreach, etc. And I think C++ made a mistake by 
> defining "long long" and "double double" types as well. Presumably, that 
> saved some keywords, but we'd all have been better off if the types were 
> defined as int8, int16, int32, int64, float32, float64, etc).
> 
> I vote for "readonly" and "const". Anything else seems like a mistake.

I think that sums up my take on this pretty well. Thanks for saving me 
the typing :).



More information about the Digitalmars-d mailing list