Denis Koroskin wrote: > Vladimir Panteleev Wrote: > >> On Thu, 29 Jan 2009 06:25:58 +0200, Andrei Alexandrescu >> <seewebsiteforem...@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:thecybersha...@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