[Cython] CyFunction refactoring plan

Vitja Makarov vitja.makarov at gmail.com
Fri Sep 30 08:42:12 CEST 2011


2011/9/30 Robert Bradshaw <robertwb at math.washington.edu>:
> 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.
>

I assume that that fused type functions are cdef ones so I think that
should be easy to merge.
On the other hand it's better to have Mark's branch merged into master.

Mark, what is the state of your fused types branch?
Is it possible to break it into smaller parts to ease reviewing and merging?

-- 
vitja.


More information about the cython-devel mailing list