Talin wrote:

>        class Foo(base1, base2, metaclass=mymeta):
>          ...

-1 on this syntax, I think it's ugly.

Alternative proposals:

   class Foo(base1, base2) as MyMeta:
     ...

or

   class Foo(base1, base2) = MyMeta:
     ...

>        class Foo(base1, base2, metaclass=mymeta, private=True):
>          ...

   class Foo(base1, base2) as MyMeta(private=True):
     ...

or

   class Foo(base1, base2) = MyMeta(private=True):
     ...

>      This attribute is a method named __metacreate__

Very bad choice of name -- it's not creating a meta-anything,
and gives no clue what it is creating.

>      It would be possible to leave the existing __metaclass__ syntax in
>      place. Alternatively, it would not be too difficult to modify the
>      syntax rules of the Py3K translation tool to convert from the old to
>      the new syntax.

The existing syntax actually has some advantages, e.g.
you can do things like

   class Foo:
     class __metaclass__:
       # Real class methods defined here

which I think is rather elegant, so I'm not sure I'd
like the new syntax to completely replace the old one.

--
Greg
_______________________________________________
Python-3000 mailing list
[email protected]
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