Revised RFC on range design for D2

Bill Baxter wbaxter at gmail.com
Fri Sep 12 08:22:13 PDT 2008


On Sat, Sep 13, 2008 at 12:03 AM, Andrei Alexandrescu
<SeeWebsiteForEmail at erdani.org> wrote:
> Bill Baxter wrote:
>>
>> On Fri, Sep 12, 2008 at 11:39 PM, Andrei Alexandrescu
>> <SeeWebsiteForEmail at erdani.org> wrote:
>>>
>>> Pablo Ripolles wrote:
>>>>
>>>> What about "isDone"?
>>>
>>> isDone is great, I just wanted to keep the one-word streak going. Let's
>>> see
>>> what everyone else says.
>>
>> Hmm.  std.algorithm does have an "isSorted" function.  So I guess I
>> agree it would be more consistent if you call it isDone or isEmpty.
>>
>> Or rename "isSorted" to "sorted".  :-)  But then you have to face the
>> consequences later when you want to have a predicate that is ambiguous
>> without the "is".    Probably a lot of noun predicates are in that
>> category -- i.e. checking  isSomeNoun(x).  Like "isRange(x)" to see if
>> x is a range.  That would have to just become "range(x)" which is a
>> bit ambiguous.
>>
>> So I agree. Stick the "is" in there.
>
> Thing is, people will call isSorted much less often than (isD|d)one. In
> std.algorithm clearly the one-word paradigm can't scale. But for a handful
> of heavily-used names I'd be willing to take the Pepsi challenge.
>
> Andrei
>
> P.S. The more I think of it, the more I like "tip" of the range. Short,
> poignant, easy to remember. Not pressing the red button just yet.

Hmm.  One semantic issue I have is that the tip usually refers to the
infinitessimal point at the end.  Not a thing with substance.  I'm
having trouble feeling like I'm going to get an item back when I look
at "x.tip".  Head has huge history being used for the item at the
front of a list, so I think that's much less likely to cause anyone
looking at D code to scratch their heads.  It will be obvious what it
means even in relative isolation.  head/tip will often appear without
"toe" in forward range algos.  So you need to be able to easily
recognize what "tip" means without seeing that "toe" to give context.
Toe on the other hand will probably almost always appear with his
mate.

Ooh, another scale thing, but a head is obviously a very different
scale than a toe.  A foot is closer to the same scale.  Maybe
head/foot is better than head/toe.  The connection between retreating
/ feet is stronger that retreating / toes, too!

--bb


More information about the Digitalmars-d-announce mailing list