[Pyrex] A couple of questions about pyrex

Robert Bradshaw robertwb at math.washington.edu
Wed May 13 00:48:36 CEST 2009


On May 12, 2009, at 3:33 PM, Yingjie Lan wrote:

>
> --- On Tue, 5/12/09, Franck Pommereau <pommereau at univ-paris12.fr>  
> wrote:
>
>> From: Franck Pommereau <pommereau at univ-paris12.fr>
>> Subject: Re: [Pyrex] A couple of questions about pyrex
>> To: lanyjie at yahoo.com
>> Cc: "Stefan Behnel" <stefan_ml at behnel.de>, pyrex at lists.copyleft.no
>> Date: Tuesday, May 12, 2009, 8:15 PM
>>> Think further down the road after that is done,
>>> if some day we decided to use 'cdef class' for
>>
>>> private class definitions
>>
>> I don't think that cdef should be interpreted as
>> private. But it means
>> that what follows is a native object (ie, implemented in C)
>> instead of a
>> Python object.
>
> Sure, I am talking in the sense that
> native = private (invisible to python)
> pythonic = public (visible to python)

But cdef already has a (widely used) meaning.

>
>>
>> So if you cdef a type, a variable or a function, there is
>> no way to
>> access it from Python because C and Python have different
>> conventions
>> for such objects (eg, Python uses name bindings in
>> environment and has
>> no proper notion of variable, and calling conventions are
>> different also).
>>
>> On the other hand, if you cdef a class, there is no way to
>> see it as a
>> class from C because there is no such notion here. But
>> anyway you get a
>> class implemented in C, which is considered a builtin class
>> by Python.
>
> Right now, as Stefan already said it, we don't support
> native/private class yet. But, if in the future we choose
> to do so, 'cdef class' would be the ideal syntax.

It seems "private class" would be more ideal, which could apply to  
cdef classes, non-cdef classes, and all other kinds of declarations.

- Robert




More information about the Pyrex mailing list