On Thu, May 01, 2008 at 12:55:22PM -0700, Guido van Rossum wrote:
> 
> I'm not proud of this, but I don't see a way around it. The
> alternative would be to make it a keyword, which seemed excessive
> (plus, it would be odd if super() were a keyword when self is not).
> There were long discussions about various possible ways to implement
> something like this, and they all had their downsides. (The PEP still
> isn't fixed to describe the status quo.)

I remember some brainstorms about treating more like self.  I'm not sure
if these were thought through all the way, but I remember seeing
something like:

class MyClass(Super1, Super2):
    # This method requires super:
    @requires_super
    def __init__(self, super, **kwds):
        super(**kwds)

    # This method doesn't require super:
    def some_method(self):
        pass

I'm sure there are drawbacks, but it fits in my head.  Using super in
Python 2.0 is verbose but simple.  However, I'm a little scared of super
in Python 3.0.  I guess I'm probably just a wimp.


-- 
Andrew McNabb
http://www.mcnabbs.org/andrew/
PGP Fingerprint: 8A17 B57C 6879 1863 DE55  8012 AB4D 6098 8826 6868

Attachment: signature.asc
Description: Digital signature

_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to