dmd 1.046 and 2.031 releases

Charles Hixson charleshixsn at earthlink.net
Wed Jul 8 18:49:28 PDT 2009


Walter Bright wrote:
> grauzone wrote:
>> I oriented this on the syntax of array slices. Which work that way. 
>> Not inconsistent at all. It's also consistent with foreach(_; x..y).
> 
> It would look consistent, but it would behave very differently. x..y for 
> foreach and slices is exclusive of the y, while case x..y is inclusive.
> 
> Creating such an inconsistency would sentence programmers to forever 
> thinking "which way is it this time".
> 
> To avoid such confusion an obviously different syntax is required.

This isn't a matter that's very important to me, as I rarely use case 
statements, but the suggestion made elsewhere of allowing restricted 
pattern matching of some sort, or concatenated logical tests, is 
appealing.  Being able to test for (e.g.)
case (< 5 & > j):
would be very appealing.  (I read that as case less than 5 and greater 
than j.)

OTOH, I'm not at all sure that such a thing could be implemented 
efficiently.  The places that I've usually found such things were in 
languages interpreted at run time.


More information about the Digitalmars-d-announce mailing list