[Python-ideas] PEP draft: Unifying function/method classes

Terry Reedy tjreedy at udel.edu
Sat Mar 31 15:12:52 EDT 2018


On 3/31/2018 12:09 PM, Steven D'Aprano wrote:
> On Sat, Mar 31, 2018 at 04:48:56PM +0200, Jeroen Demeyer wrote:
>> I have prepared a PEP draft for unifying function/method classes. You
>> can find it at
>>
>> https://github.com/jdemeyer/PEP-functions
>>
>> This has not officially been submitted as PEP yet, I want to hear your
>> comments first.
> 
> It seems like a huge amount of work compared to the motivation: allow
> functions written in C to support introspection. Quote:
> 
> "In particular, it is currently not possible to implement a function
> efficiently in C (only built-in functions can do that) while still
> allowing introspection like inspect.getfullargspec or

inspect.signature, which superceded .getfullargspec, works with C-coded 
functions that use ArgumentClinic.

 >>> inspect.signature(list)
<Signature (iterable=(), /)>
 >>> inspect.signature(list.append)
<Signature (self, object, /)>
 >>> inspect.signature(int)  # fails

I would be all for more of the builtins and stdlib being converted.
Can't 3rd-party C code use ArgumentClinic?

> inspect.getsourcefile (only Python functions can do that)."

Sourcefile is meaningless when there is no source file.  C sources would 
be far less useful than Python sources.

-- 
Terry Jan Reedy



More information about the Python-ideas mailing list