[Python-Dev] PEP 362: 4th edition (original) (raw)
Yury Selivanov yselivanov.ml at gmail.com
Fri Jun 15 23:26:25 CEST 2012
- Previous message: [Python-Dev] PEP 362: 4th edition
- Next message: [Python-Dev] PEP 362: 4th edition
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 2012-06-15, at 5:13 PM, Antoine Pitrou wrote:
On Fri, 15 Jun 2012 17:07:46 -0400 Yury Selivanov <yselivanov.ml at gmail.com> wrote:
On 2012-06-15, at 4:48 PM, Victor Stinner wrote: [snip]
Would it be possible to only create a signature for builtin the first time that you read its signature attribute? I don't know how to implement such behaviour on a builtin function. I don't know if it's important to decide this right now.
I don't want to create a signature at startup if it is not used, because it would waste memory (as docstrings? :-)). I think when we have the working mechanism to generate them in place, we can make it lazy. I'm not sure I understand. The PEP already says signatures are computed lazily. Is there an exception for built-in functions?
Right now, if there is no 'signature' attribute set on a builtin function - there is no way of generating it (PyCFunctionObject doesn't have code), so a ValueError will be raised. Maybe, if in the future we replace PyArg_ParseTuple and family with something, that can generate metadata for builtins (or generate Signature object, or generate some callable that generates it, or something else) we make 'signature()' use it. But again, that's not for 3.3.
And yes, signature() is still lazy.
- Yury
- Previous message: [Python-Dev] PEP 362: 4th edition
- Next message: [Python-Dev] PEP 362: 4th edition
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]