Compiling the PEP 3115 metaclass
Guido van Rossum said:
The PEP proposes that the class
statement accepts keyword arguments,
*args, and**kwdssyntax as well as positional bases. This is a bit messy
to compile and execute, but we already
have this, of course, in the code for
calling regular functions.So I think it would be acceptable to
this into a call to a new (hidden)
built-in function, named
__build_class__. Then that this class definition:class C(A, B, metaclass=M, other=42, *more_bases, *more_kwds): ...would translate into this:
C = __build_class__(<func>, 'C', A, B, metaclass=M, other=42, *more_bases, *more_kwds)where
<func>is a function object for
the class body.