[Python-Dev] PEP 579 and PEP 580: refactoring C functions and methods (original) (raw)

Antoine Pitrou solipsis at pitrou.net
Wed Jun 20 10:42:32 EDT 2018


On Wed, 20 Jun 2018 16:32:09 +0200 Jeroen Demeyer <J.Demeyer at UGent.be> wrote:

> - there's CCALLOBJCLASS and CCALLSLICESELF which have, well, > non-obvious behaviour (especially the latter), especially as it is > conditioned on the value of other fields or flags It's actually quite obvious when you think of it: both are needed to support existing use cases. Perhaps it's just not explained well enough in the PEP.

Yes, it's explained in PEP 579. But just because the motivation is easy to understand doesn't mean the mechanism is easy to follow.

I'm wondering what amount of code and debugging is needed for, say, Cython or Numba to implement that protocol as a caller, without going through the C API's indirections (for performance).

Regards

Antoine.



More information about the Python-Dev mailing list