[Cython] CyFunction refactoring plan

Vitja Makarov vitja.makarov at gmail.com
Fri Sep 30 08:47:06 CEST 2011


2011/9/30 Vitja Makarov <vitja.makarov at gmail.com>:
> 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?
>

It seems I meant memview branch not fusedtypes.

-- 
vitja.


More information about the cython-devel mailing list