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