On Tue, Nov 30, 2010 at 9:10 PM, Vitja Makarov <[email protected]> wrote:
> 2010/12/1 Robert Kern <[email protected]>:
>> On 11/30/10 4:01 PM, Robert Bradshaw wrote:
>>> On Tue, Nov 30, 2010 at 1:57 PM, Robert Kern<[email protected]>  wrote:
>>>> On 11/30/10 3:31 PM, Robert Bradshaw wrote:
>>>>> On Tue, Nov 30, 2010 at 1:04 PM, Vitja Makarov<[email protected]>   
>>>>>  wrote:
>>>>>
>>>>>> I don't like the idea to add one more external dependency. But if that
>>>>>> really helps its okay.
>>>>>
>>>>> It's not an external dependency if it ships with Python. Actually,
>>>>> ctypes didn't ship with Python until 2.5, so that may be an issue. I'm
>>>>> thinking we'd only use it where we couldn't do it otherwise.
>>>>
>>>> ctypes/libffi is deliberately considered an optional component of Python 
>>>> for
>>>> several reasons, one of which is the lack of support on certain platforms. 
>>>> I
>>>> would say that it exists in a somewhat unique middle ground between "ships 
>>>> with
>>>> Python" and "external dependency".
>>>
>>> Thanks for the perspective. Are there any good alternatives
>>> (especially that would be less of an "external" dependency)?
>>
>> I'm afraid not.
>>
>> --
>> Robert Kern
>>
>> "I have come to believe that the whole world is an enigma, a harmless enigma
>>  that is made terrible by our own mad attempt to interpret it as though it 
>> had
>>  an underlying truth."
>>   -- Umberto Eco
>>
>> _______________________________________________
>> Cython-dev mailing list
>> [email protected]
>> http://codespeak.net/mailman/listinfo/cython-dev
>>
>
> Don't worry about bfin support, that was just an example of unsupported arch.
>
> About use cases, I see only two now (am I right?):
>
>  - Function that returns inner function
>  - Function is passed as callback to plain C (object methods or nested).
> (It's okay when nested function is used inside cdef, cython can handle it.)
>
> In the libffi example new function bound_puts() is assebled it know
> how to call original puts_binding().
> The real problem is when newly created function is passed to C code,
> We don't know when to call ffi_closure_free().

Yes, this is something we would have to figure out. Possibly we could
tie the lifetime to another object (like strings vs. their internal
char* buffers).

- Robert
_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev

Reply via email to