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

Nick Coghlan ncoghlan at gmail.com
Wed Apr 6 16:11:43 CEST 2011


On Wed, Apr 6, 2011 at 11:59 PM, Antoine Pitrou <solipsis at pitrou.net> wrote:
> On Tue, 5 Apr 2011 12:57:13 -0700
> Raymond Hettinger <raymond.hettinger at gmail.com> wrote:
>>
>> * I would like to see a restriction on the use of
>>   the concrete C API such that it is *only* used
>>   when a exact type match has been found or created
>>   (i.e. if someone writes Py_ListNew(), then it
>>   is okay to use Py_ListSetItem()).
>
> That should be qualified.
> For example, not being able to use PyUnicode_AS_STRING in some
> performance-critical code (such as the io lib) would be a large
> impediment.

Str/unicode/bytes are really an exception to most rules when it comes
to duck-typing. There's so much code out there that only works with
"real" strings, nobody is surprised when an API doesn't accept string
look-alikes. (There aren't any standard ABCs for those interfaces, and
I haven't really encountered anyone clamouring for them, either).

Cheers,
Nick.

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


More information about the Python-Dev mailing list