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

Reply via email to