On Tue, 07 Jul 2009 21:20:42 +0200, "Jérôme M. Berger" wrote: > Andrei Alexandrescu wrote: >> Jérôme M. Berger wrote: >>> Andrei Alexandrescu wrote: >>>> Jérôme M. Berger wrote: >>>>> Andrei Alexandrescu wrote: >>>>>> Derek Parnell wrote: >>>>>>> It seems that D would benefit from having a standard syntax format >>>>>>> for >>>>>>> expressing various range sets; >>>>>>> a. Include begin Include end, i.e. [] >>>>>>> b. Include begin Exclude end, i.e. [) >>>>>>> c. Exclude begin Include end, i.e. (] >>>>>>> d. Exclude begin Exclude end, i.e. () >>>>>> >>>>>> I'm afraid this would majorly mess with pairing of parens. >>>>>> >>>>> I think Derek's point was to have *some* syntax to mean this, >>>>> not necessarily the one he showed (which he showed because I believe >>>>> that's the "standard" mathematical way to express it for English >>>>> speakers). For example, we could say that [] is always inclusive and >>>>> have another character which makes it exclusive like: >>>>> a. Include begin Include end, i.e. [ a .. b ] >>>>> b. Include begin Exclude end, i.e. [ a .. b ^] >>>>> c. Exclude begin Include end, i.e. [^ a .. b ] >>>>> d. Exclude begin Exclude end, i.e. [^ a .. b ^] >>>> >>>> I think Walter's message really rendered the whole discussion moot. >>>> Post of the year: >>>> >>>> ========================= >>>> I like: >>>> >>>> a .. b+1 >>>> >>>> to mean inclusive range. >>>> ========================= >>>> >>>> Consider "+1]" a special symbol that means the range is to be closed >>>> to the right :o). >>>> >>> Ah, but: >>> - This is inconsistent between the left and right limit; >>> - This only works for integers, not for floating point numbers. >> >> How does it not work for floating point numbers? >> > Is that a trick question? Depending on the actual value of b, you > might have b+1 == b (if b is large enough). Conversely, range a .. > b+1 may contain a lot of extra numbers I may not want to include > (like b+0.5)... > > Jerome
If Andrei is not joking (the smiley notwithstanding) the "+1" doesn't mean add one to the previous expression, instead it means that the previous expression's value is the last value in the range set. Subtle, no? -- Derek Parnell Melbourne, Australia skype: derek.j.parnell
