| Thread overview | ||||||
|---|---|---|---|---|---|---|
|
January 29, 2009 Re: Please vote once and for good: range operations | ||||
|---|---|---|---|---|
| ||||
Vladimir Panteleev Wrote:
> On Thu, 29 Jan 2009 06:25:58 +0200, Andrei Alexandrescu <SeeWebsiteForEmail@erdani.org> wrote:
>
> > Simen Kjaeraas wrote:
> >> Andrei Alexandrescu wrote:
> >>
> >>> So please let's vote once and for all.
> >>>
> >>> Andrei
> >> Do let's. My first vote goes to first/last, with head/toe at second
> >> place.
> >> -- Simen
> >
> > Ok, after looking at my code I discovered a huge problem with "first". ("Last" is cool.) If all you do is implement them and use them with foreach, fine. But if you need to call them manually (which is the case sometimes), you get really badly interacting terms there. Look at this, taken from real code (the filter function):
> >
> > while (!_input.empty && !pred(_input.first)) _input.next;
> >
> > I can see the putative user scratching their head: "Ok, so I start iteration with the first element, then I move to the next one... but then why the heck am I looking at the first again?"
> >
> > "First" must go.
>
> I don't think that "next" is an appropriate name here. Since it is an action, it should be named as one - "next" sounds more like a function (which doesn't modify the instance). Have you considered "forward"?
>
> --
> Best regards,
> Vladimir mailto:thecybershadow@gmail.com
Agree, "advance" would be a better name, though (imo).
| ||||
January 30, 2009 Re: Please vote once and for good: range operations | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Denis Koroskin | Denis Koroskin wrote:
> Vladimir Panteleev Wrote:
>
>> On Thu, 29 Jan 2009 06:25:58 +0200, Andrei Alexandrescu <SeeWebsiteForEmail@erdani.org> wrote:
>>
>>> Simen Kjaeraas wrote:
>>>> Andrei Alexandrescu wrote:
>>>>
>>>>> So please let's vote once and for all.
>>>>>
>>>>> Andrei
>>>> Do let's. My first vote goes to first/last, with head/toe at second
>>>> place.
>>>> -- Simen
>>> Ok, after looking at my code I discovered a huge problem with "first". ("Last" is cool.) If all you do is implement them and use them with foreach, fine. But if you need to call them manually (which is the case sometimes), you get really badly interacting terms there. Look at this, taken from real code (the filter function):
>>>
>>> while (!_input.empty && !pred(_input.first)) _input.next;
>>>
>>> I can see the putative user scratching their head: "Ok, so I start iteration with the first element, then I move to the next one... but then why the heck am I looking at the first again?"
>>>
>>> "First" must go.
>> I don't think that "next" is an appropriate name here. Since it is an action, it should be named as one - "next" sounds more like a function (which doesn't modify the instance). Have you considered "forward"?
>>
>> --
>> Best regards,
>> Vladimir mailto:thecybershadow@gmail.com
>
> Agree, "advance" would be a better name, though (imo).
Same, it seems BETTER. Though, it seems like it's suboptimal as well. As I understand it we aren't so much moving rightward a head that's reading a tape, but instead we are incrementally chopping off the leftmost elements until none are left. So it is possible (though not intuitive) to draw analogies and write metaphors: we are advancing our knife each time we chop off a bit of carrot.
Anyways, while technically incorrect as far as I can tell, it isn't aesthetically displeasing to me, so in some odd way I am alright with next.
Hmmm... maybe "chop" is a good word for this...
- Chad
| |||
January 30, 2009 Re: Please vote once and for good: range operations | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Chad J |
Chad J wrote:
> Denis Koroskin wrote:
>> Agree, "advance" would be a better name, though (imo).
>
> Same, it seems BETTER. Though, it seems like it's suboptimal as well. As I understand it we aren't so much moving rightward a head that's reading a tape, but instead we are incrementally chopping off the leftmost elements until none are left. So it is possible (though not intuitive) to draw analogies and write metaphors: we are advancing our knife each time we chop off a bit of carrot.
>
> Anyways, while technically incorrect as far as I can tell, it isn't aesthetically displeasing to me, so in some odd way I am alright with next.
>
> Hmmm... maybe "chop" is a good word for this...
>
> - Chad
That's why I suggested "advanceFront" and "retreatBack." I don't think there's a single, short word to exactly express the concept "move the front of a view of some sequence one element towards the end."
-- Daniel
| |||
January 30, 2009 Re: Please vote once and for good: range operations | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Chad J | Chad J wrote: > As I understand it we aren't so much moving rightward a head that's > reading a tape, but instead we are incrementally chopping off the > leftmost elements until none are left. So it is possible (though not > intuitive) to draw analogies and write metaphors: we are advancing our > knife each time we chop off a bit of carrot. <snip> > Hmmm... maybe "chop" is a good word for this... How about “chomp” and “regurgitate”? ;) | |||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply