[Python-Dev] PEP 362: 4th edition
Yury Selivanov
yselivanov.ml at gmail.com
Fri Jun 15 23:35:41 CEST 2012
On 2012-06-15, at 5:30 PM, Antoine Pitrou wrote:
> On Fri, 15 Jun 2012 17:26:25 -0400
> Yury Selivanov <yselivanov.ml at gmail.com> wrote:
>
>> 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.
>
> Ok, but what does this mean for 3.3? Does the PEP propose that all
> builtins get a non-lazy __signature__, or simply that ValueError always
> be raised?
Simply ValueError.
-
Yury
More information about the Python-Dev
mailing list