Revised RFC on range design for D2
KennyTM~
kennytm at gmail.com
Mon Sep 15 08:01:58 PDT 2008
Andrei Alexandrescu wrote:
> Dave wrote:
>>
>> "Andrei Alexandrescu" <SeeWebsiteForEmail at erdani.org> wrote in message
>> news:gadn7c$oe5$4 at digitalmars.com...
>>> Pablo Ripolles wrote:
>>>> Andrei Alexandrescu Wrote:
>>>>
>>>>> In wake of the many excellent comments and suggestions made here, I
>>>>> made one more pass through the draft proposal for ranges.
>>>>>
>>>>> http://ssli.ee.washington.edu/~aalexand/d/tmp/std_range.html
>>>>>
>>>>> There are some comments in red illustrating some uncertainties (not
>>>>> all), and the names of the primitives have been updated. Bicycle
>>>>> shed galore! But don't forget to comment on the reactor as well :o).
>>>>>
>>>>>
>>>>> Andrei
>>>>
>>>>
>>>> Well, it looks prety clean! :D
>>>>
>>>> However, I'm not completely sure I like these "head" and "toe" names
>>>> selection. It projects to much on it, doesn't it? couldn't it be
>>>> more neutral? perhaps more conceptual? I haven't been able to read
>>>> the last days' comments... but my last impressions were that this
>>>> "head" was not the best choice.
>>>>
>>>> If "head" is the header item, why not call it "header"?
>>>>
>>>> If ''toe" is the last item, why not call it "last"?
>>>>
>>>> Other comment goes for the "done" property, for the seek of
>>>> consistence shouldn't it better be named "isDone"?
>>>>
>>>> Cheers!
>>>
>>> Thanks. One problem in coding with first and last was that sometimes
>>> the code looks unnatural, especially when your range exposes a few
>>> more functions. In a stream parser, dealing with the "first" element
>>> is not the most natural way to think of it. But I agree that first
>>> and last are definitely palatable and natural most of the time. But
>>> then again, shouldn't any design have the inevitable cutesy that
>>> makes it memorable? :o)
>>>
>>> Andrei
>>
>> From the limited posts I've had the time to read, it seems this topic
>> has probably been already beaten to death, but how about "tail"
>> instead of "toe".
>>
>> And instead of the "yellow" primitive, why not "intersect(r,s)" ,
>> "intersection(r,s)", "r.contains(s)" , "r.intersect(s)" , etc.
>>
>> Wasn't "intersect" the original?
>
> Intersect is good but doesn't reveal an important detail: the operation
> is not commutative.
>
> Andrei
.cross ?
.across ?
.join ?
.onlyAlso ?
By the way, how does "yellow" not commutative?
More information about the Digitalmars-d-announce
mailing list