On Thu, Sep 29, 2011 at 10:43 PM, Stefan Behnel wrote:
Vitja Makarov, 30.09.2011 06:41:
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.* 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
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 forNote 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?
fused types.
- Robert
