On 2018-07-11 10:27, Antoine Pitrou wrote:
I agree PEP 580 is extremely complicated and it's not obvious what the
maintenance burden will be in the long term.

But the status quo is also very complicated! If somebody would write a PEP describing the existing implementation of builtin_function_or_method and method_descriptor with all its optimizations, probably you would also find it complicated.

Have you actually looked at the existing implementation in Python/ceval.c and Object/call.c for calling objects? One of the things that PEP 580 offers is replacing 5 (yes, five!) functions _PyCFunction_FastCallKeywords, _PyCFunction_FastCallDict, _PyMethodDescr_FastCallKeywords, _PyMethodDef_RawFastCallKeywords, _PyMethodDef_RawFastCallDict by a single function PyCCall_FASTCALL.

Anyway, it would help if you could say why you (and others) think that it's complicated. Sure, there are many details to be considered (for example, the section about Descriptor behavior), but those are not essential to understand what the PEP does. I wrote the PEP as a complete specification, give full details. Maybe I should add a section just explaining the core ideas without details?


Jeroen.
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to