[Cython] CyFunction refactoring plan

Vitja Makarov vitja.makarov at gmail.com
Fri Sep 30 08:27:00 CEST 2011


2011/9/30 Stefan Behnel <stefan_ml at behnel.de>:
> Vitja Makarov, 30.09.2011 06:41:
>>
>> 2011/9/28 Vitja Makarov:
>>>
>>> I tried to build simple plan for ongoing cython function refactoring
>>>
>>> * Replace assignment synthesis with SingleAssignmentNode, where LHS is
>>> NameNode and RHS is PyCFunctionNode
>>> * Split function body into python wrapper and C function
>>> http://wiki.cython.org/enhancements/generators#Pythonfunctionrefactoring
>>>
>>> Then we can implement some features and optimizations:
>>>
>>> * Reduce difference between cdef and def functions
>>> * Store runtime evaluated default values inside CyFunction, ticket #674
>>> * Implement no-args super(), ticket #696
>>> * Function call inlining
>>
>> If nobody don't mind I would start with first one.
>
> Please go ahead. :)
>
> Note that you will encounter some problems when enabling name assignments
> for all named functions. I tried that at least once and it "didn't work",
> but I didn't take the time yet to investigate them further.
>

I can guess that there were some problems with analyse expressions and
friends recently I've fixed them for lambdas.


> I assume you are going to work on this in your own repo?
>

Sure :)


-- 
vitja.


More information about the cython-devel mailing list