TDPL reaches Thermopylae level

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Tue Oct 27 06:07:06 PDT 2009


Chris Nicholson-Sauls wrote:
> Andrei Alexandrescu wrote:
[snip]
>> Well, I guess. In particular, to me it's not clear what type we should 
>> assign to a concatenation between a string and a wstring. With ~=, 
>> it's much easier...
>>
> 
> My intuition would be to expect the same as adding an int to a byte: you 
> get an int. Concatenating a string and a wstring should yield a wstring; 
> ie, encode to the wider of the two types.
> 
> -- Chris Nicholson-Sauls

Yah, I agree. The problem is, there's a big difference too: all 
encodings are able to represent the same information, unlike numeric 
widths where there's a clear inclusion relationship. It could even be 
argued that in pure theory UTF-16 is the least general of the three (I 
dislike UTF-16 from an engineering standpoint; unlike UTF-8 which I 
think is brilliant, I find UTF-16 is forced and uninspired - the typical 
outcome of a committee.)

My current thought is to ascribe lhs ~ rhs the same type as lhs (thereby 
making ~ consistent with ~= by making lhs ~= rhs same as lhs = lhs ~ 
rhs) in case lhs is a string type. If lhs is a character type, the 
result type is obviously the same as rhs.


Andrei



More information about the Digitalmars-d mailing list