[Python-Dev] Adding types.build_class for 3.3 (original) (raw)
Nick Coghlan ncoghlan at gmail.com
Thu May 10 10:27:23 CEST 2012
- Previous message: [Python-Dev] Adding types.build_class for 3.3
- Next message: [Python-Dev] Adding types.build_class for 3.3
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Thu, May 10, 2012 at 6:11 PM, Mark Shannon <mark at hotpy.org> wrote:
Finally, could you remind me how the proposed type.define differs from builtins.buildclass? I can't see any difference (apart from parameter ordering and the extra name parameter in builtins.buildclass).
It's the officially supported version of that API - the current version is solely a CPython implementation detail. The main change is moving exec_body to the end and making it optional, thus bringing the interface more in line with calling a metaclass directly. The name parameter is actually still there, I just forgot to include in the examples in the thread.
You'll find there's no mention of build_class in the language or library references, thus there's currently no official way to programmatically define a new type in a way that complies with PEP 3115.
(This is explained in the tracker issue and the previous thread that proposed the name operator.build_class)
I prefer type.define(), but if the descriptor protocol does cause problems (and making static methods callable doesn't fix them), then we'll move it somewhere else (probably types.define() with a new _types module).
Cheers, Nick.
-- Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia
- Previous message: [Python-Dev] Adding types.build_class for 3.3
- Next message: [Python-Dev] Adding types.build_class for 3.3
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]