On 12/3/07, Phillip J. Eby <[EMAIL PROTECTED]> wrote:
> At 03:48 PM 12/3/2007 +0100, Christian Heimes wrote:
> >Nick Coghlan wrote:
> > > Aren't the metaclass changes in PEP 3115 partially aimed at
> > > eliminating the need for stack frame hackery to implement
> > > these kinds of things?

Yes.

> >Couldn't we use a similar approach like the new super() magic?

In theory, yes.  As it stands, the __class__ object doesn't exist
unless there is a super call.  This was for efficiency, and more
availablility was explicitly rejected.  That said, the rejection was
for insufficient motivation, so it could change if it needs to.

> > Maybe we could introduce a similar way to access the namespace
> > of a class during its construction time?

> You can already access it with locals().  It's just that without
> _getframe, you have to do something like 'implements(locals(),
> IExample)'.

Not according to http://docs.python.org/lib/built-in-funcs.html

"""
Warning: The contents of this dictionary should not be modified;
changes may not affect the values of local variables used by the
interpreter.
"""

Given that the "correct" mapping can now be passed in as part of
construction, I *think* that restriction could be removed for class
definition.

-jJ
_______________________________________________
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

Reply via email to