[Cython] CyFunction refactoring plan

Robert Bradshaw robertwb at math.washington.edu
Fri Sep 30 08:16:47 CEST 2011


On Thu, Sep 29, 2011 at 10:43 PM, Stefan Behnel <stefan_ml at behnel.de> wrote:
> 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.

I would love to see this happen.

> 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 assume you are going to work on this in your own repo?

Please also coordinate with Mark's work on function dispatching for
fused types.

- Robert


More information about the cython-devel mailing list