On Tuesday 2006-04-04 13:52, Michael P. Soulier wrote: > On 04/04/06 Gareth McCaughan said: ... > > That would confuse anyone used to Lisp, where after > > > > (defvar foo (list 1 2 3 4)) > > (puch 99 foo)
[of course I meant to type "push". Lisp's operator names are obscure sometimes, but not that obscure] > > the value of FOO is (99 1 2 3 4) rather than (1 2 3 4 99). > > I take no stand on how much not confusing Lispers matters > > to Python 3k. > > It would ease transition from Perl, and be consistent in the method naming. I'd forgotten that Perl has a "push" with that behaviour. And, come to think of it, Lisp has VECTOR-PUSH and VECTOR-PUSH-EXTEND that add onto the end of a vector. Inconsistent naming: Bad Lisp! Bad! No biscuit! Anyway, Python surely has more perlites than lispniks among its newcomers. So: the dubious antiprecedent of Lisp's PUSH is outweighed by the precedent of Perl's and somewhat invalidated by Lisp's internal inconsistency. I retract everything :-). > If one is going to use a method obviously taken from the stack ADT, having a > method normally called push() would be less confusing. I know that I found it > so, having both used stacks and Perl. > > I can make a list subclass obviously, but I've always found append() and pop() > one of those arrangements that just makes new Python programmers say, huh? Oh, yes. The combination is ... peculiar. -- g _______________________________________________ Python-3000 mailing list Python-3000@python.org http://mail.python.org/mailman/listinfo/python-3000 Unsubscribe: http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com