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? > (e.g. the metaclass could stuff a closure into the class namespace under > the name 'implements' to avoid any need for frame hackery).
Couldn't we use a similar approach like the new super() magic? As far as I remember super() can access its class through a new cell '__class__'. Maybe we could introduce a similar way to access the namespace of a class during its construction time? class Example: implements(IExample) def implements(*args): # The non local variable __class_ns__ is the namespace of the # class aka the dict returned by the __prepare__ function of # the meta class. nonlocal __class_ns__ ... __class_ns__['spam'] = ... Christian _______________________________________________ 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