On Sat, 26 Mar 2005 22:49:33 +0100, Eric Nieuwland <[EMAIL PROTECTED]> wrote: >On 26 mrt 2005, at 21:36, Josiah Carlson wrote: > > Eric Nieuwland <[EMAIL PROTECTED]> wrote: > >> Given the ideas so far, would it possible to: > >> > >> def meta(cls): > >> ... > >> > >> @meta > >> class X(...): > >> ... > > > > It is not implemented in Python 2.4. From what I understand, making it > > happen in Python 2.5 would not be terribly difficult. The question is > > about a "compelling use case". Is there a use where this syntax is > > significantly better, easier, etc., than an equivalent metaclass? > > Would > > people use the above syntax if it were available? > > > > What would you use the above syntax to do? > > Well, I can imagine using > > @meta(MyMetaClass) > class MyClass(...): > ... > > instead of > > class MyClass(...): > __metaclass__ = MyMetaClass > ... > > Somehow, it seems more aesthetic to me.
This doesn't quite work the same, though. The former creates a new instance of ClassType, then (presumably) rips it apart and passes the pieces to MyMetaClass. The latter just passes the pieces to MyMetaClass unassembled. I can imagine cases where the class creation would fail during the first step of the former process, so I don't think this is actually a use-case for class decorators. Jp _______________________________________________ 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