Josiah Carlson wrote: > There are two semantics that I would be happy with. Either force > metaclasses to have a .metadict() or equivalent method (or a callable > attribute in the case of arbitrary callables), or even allow > __metaclass__ to be a tuple: > > class foo(...): > __metaclass__ = mytype, newdict > > Newdict needs to be callable, and if you want to pass certain > semantic-altering arguments, make newdict a factory can call it directly... > > class foo(...): > __metaclass__ = mytype, newdict(no_dupes=True) > > One wouldn't even need any of the default arguments only stuff to make > the two 'newdict' examples above use the same callable.
I strongly feel that this makes *using* metaclasses way too complex. A person wanting to create a C struct or a database record should simply have to say "metaclass=cstruct" - they shouldn't have to declare a bunch of individual pieces, all of which have to match with each other. There's no utility in being able to "mix n' match" metaclasses and dicts. In any case, we're just going over old ground here. -- Talin _______________________________________________ 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
