"with" still sucks + removing features + adding features

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Mon May 18 17:38:05 PDT 2009


bearophile wrote:
> Andrei Alexandrescu:
> 
> Thank you for bringing a "real" example that gives something to work on.
> 
>> Awful!<
> 
> Well, one of your cases was wrong. Using the +1 at the end one of those cases become:
> case 'A' .. 'Z'+1, 'a' .. 'z'+1:
> Instead of what you have written:
> case 'A' .. 'Z'+1: case 'a' .. 'z'+1:
> 
> I agree that that syntax with +1 isn't very nice looking. But the advantage of +1 is that it introduces (almost) no new syntax, it's not easy to miss, its meaning is easy to understand. AND you don't have to remember that in a case the .. is inclusive while in foreach is exclusive on the right, keeping the standard way in D to denote ranges.

You don't understand. My point is not that people will dislike 'Z'+1. 
They will FORGET TO WRITE THE BLESSED +1. They'll write:

case 'A' .. 'Z':

and they'll wonder why the hell Z is not handled. Now do you see why 
it's sometimes ungainly to discuss language design here? It can only go 
forever, and in the end anyone can say "but I just don't like it". In 
fact I'll use that prerogative right now:

[snip]

> Well... That's not perfect, but it looks better than the syntax suggested by Andrei. Do you have better ideas?

I like my syntax better than all you mentioned, by a mile.


Andrei



More information about the Digitalmars-d mailing list