On 4/29/07, Calvin Spealman <ironfroggy@gmail.com> wrote:
On 4/29/07, Collin Winter <collinw@gmail.com> wrote:
What if the instance isn't called "self"? PEP 3099 states that "self will not become implicit"; it's talking about method signatures, but I think that dictum applies equally well in this case.
I don't use the name self. I use whatever the first argument name is, found by this line of python code:
instance_name = calling_frame.f_code.co_varnames[0]
So I can't use super with anything but the method's invocant? That seems arbitrary.
Also, it's my understanding that not all Python implementations have an easy analogue to CPython's frames; have you given any thought to whether and how PyPy, IronPython, Jython, etc, will implement this?
I'll bring this up for input from PyPy and IronPython people, but I don't know any Jython people. Are we yet letting the alternative implementations influence so strongly what we do in CPython? I'm not saying "screw them", just pointing out that there is always a way to implement anything, and if its some trouble for them, well, 2.6 or 3.0 targetting is far down the road for any of them yet.
It's a smell test: if a given proposal is unduly difficult for anything but CPython to implement, it's probably a bad idea. The language shouldn't go down the Perl 5 road, where python (the C interpreter) becomes the only thing that can implement Python (the language). Collin Winter