dmd 1.046 and 2.031 releases

"Jérôme M. Berger" jeberger at free.fr
Tue Jul 7 12:38:52 PDT 2009


Andrei Alexandrescu wrote:
> 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)...
> 
> It wasn't a trick question, or it was of sorts. If you iterate with e.g. 
> foreach through a floating-point range that has b == b + 1, you're bound 
> to get in a lot of trouble because the running variable will be 
> incremented.
> 
	Well:
  - A floating point range should allow you to specify the iteration 
step, or else it should allow you to iterate through all numbers 
that can be represented with the corresponding precision;
  - The second issue remains: what if I want to include b but not 
b+ε for any ε>0?

		Jerome
-- 
mailto:jeberger at free.fr
http://jeberger.free.fr
Jabber: jeberger at jabber.fr

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: OpenPGP digital signature
URL: <http://lists.puremagic.com/pipermail/digitalmars-d-announce/attachments/20090707/3a2c9994/attachment-0001.pgp>


More information about the Digitalmars-d-announce mailing list