[Python-Dev] Comparing PEP 576 and PEP 580

Jeroen Demeyer J.Demeyer at UGent.be
Thu Jul 5 07:59:10 EDT 2018


On 2018-07-05 13:32, INADA Naoki wrote:
> Core devs interested in this area is limited resource.

I know and unfortunately there is nothing that I can do about that. It 
would be a pity that PEP 580 (or a variant like PEP 576) is not accepted 
simply because no core developer cares enough.

> As far as I understand, there are some important topics to discuss.
>
> a. Low level calling convention, including argument parsing API.
> b. New API for calling objects without argument tuple and dict.
> c. How more types can support FASTCALL, LOAD_METHOD and CALL_METHOD.
> d. How to reorganize existing builtin types, without breaking stable ABI.

Right, that's why I wanted PEP 580 to be only about (c) and nothing 
else. I made the mistake in PEP 575 of also involving (d).

I still don't understand why we must finish (a) before we can even start 
discussing (c).

> Reference implementation helps discussion.

METH_FASTCALL and argument parsing for METH_FASTCALL is already 
implemented in CPython. Not in documented public functions, but the 
implementation exists.

And PEP 580 also has a reference implementation:
https://github.com/jdemeyer/cpython/tree/pep580


Jeroen.


More information about the Python-Dev mailing list