On Mon, 1 Nov 2010 20:40:30 -0700
Jonathan M Davis <[email protected]> wrote:

> The term "pop" does _not_ mean that an element is returned but that it is 
> removed from the range. This is true for pretty much anything that uses a pop 
> function in any language - stacks, lists, etc. It _is_ true that many 
> implementations choose to have pop return the element which is popped, but 
> that's an implementation detail. The term pop merely indicates that an 
> element 
> is removed from an end of a range or container.

All right, that's where I went wrong. Thank you for the clear explanation. 
(Now, I will continue with the article by Andrei Alexandrescu, 10 pages left :-)

[But I do not know of any pop not returning the removed value in any lang or 
library; instead, pop is the favorite example of people arguing against the 
distinction between actual functions (result, but no effect) and actions 
(effect, but no result): naughty pop does both.
Maybe call it here remove()? Even if "pop"'s sense was defined by an all-mighty 
authority, we could hardly avoid people having different expectations born from 
previous experience, esp when it's so widespread: the two pop examples at 
http://en.wikipedia.org/wiki/Stack_%28data_structure%29 return the element.]

I would also find current() much clearer than front(), since from the client's 
perspective it looks like shrinking the collection (or view) instead of 
traversing it; see the confusion expressed by the OP's original question; but 
well...

Denis
-- -- -- -- -- -- --
vit esse estrany ☣

spir.wikidot.com

Reply via email to