<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7651.59">
<TITLE>RE: [Python-3000] Compiling the PEP 3115 metaclass syntax</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/plain format -->
<P><FONT SIZE=2>Guido van Rossum wrote:<BR>
> The PEP proposes that the class statement accepts<BR>
> keyword arguments, *args, and **kwds syntax as well<BR>
> as positional bases. This is a bit messy to compile<BR>
> and execute, but we already have this, of course, in<BR>
> the code for calling regular functions.<BR>
><BR>
> So I think it would be acceptable to this into a<BR>
> call to a new (hidden) built-in function, named<BR>
> __build_class__. Then that this class definition:<BR>
><BR>
> class C(A, B, metaclass=M, other=42, *more_bases,<BR>
> *more_kwds):<BR>
> ...<BR>
><BR>
> would translate into this:<BR>
><BR>
> C = __build_class__(<func>, 'C', A, B, metaclass=M,<BR>
> other=42, *more_bases, *more_kwds)<BR>
<BR>
This sounds familiar ;)<BR>
<A HREF="http://mail.python.org/pipermail/python-dev/2004-March/043562.html">http://mail.python.org/pipermail/python-dev/2004-March/043562.html</A><BR>
<BR>
Why not just call that function "class" and get it over with? ;)<BR>
<BR>
<BR>
Robert Brewer<BR>
System Architect<BR>
Amor Ministries<BR>
fumanchu@amor.org</FONT>
</P>
</BODY>
</HTML>