[Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

Nick Coghlan ncoghlan at gmail.com
Wed Apr 6 16:08:45 CEST 2011


On Wed, Apr 6, 2011 at 5:57 AM, Raymond Hettinger
<raymond.hettinger at gmail.com> wrote:
> [Brett]
>> This PEP requires that in these instances that both
>> the Python and C code must be semantically identical
>
> Are you talking about the guaranteed semantics
> promised by the docs or are you talking about
> every possible implementation detail?
>
> ISTM that even with pure python code, we get problems
> with people relying on implementation specific details.

Indeed.

Argument handling is certainly a tricky one - getting positional only
arguments requires a bit of a hack in pure Python code (accepting
*args and unpacking the arguments manually), but it comes reasonably
naturally when parsing arguments directly using the C API.

As another example where these questions will arise (this time going
the other way) is that I would like to see a pure-Python version of
partial added back in to functools, with the C version becoming an
accelerated override for it.

Cheers,
Nick.

-- 
Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia


More information about the Python-Dev mailing list