On Fri, Dec 10, 2010 at 12:22 AM, Vitja Makarov <vitja.maka...@gmail.com> wrote:
> 2010/12/10 Stefan Behnel <stefan...@behnel.de>:
>> Stefan Behnel, 09.12.2010 10:46:
>>> Vitja Makarov, 08.12.2010 22:45:
>>>> Please review this patch. It's not yet finished, and mostly doesn't work.
>>>> But you can take a look at patch and generated code.
>>>
>>> I'll take a close look ASAP.
>>>
>>>>    - Temps are saved/restored/allocated inside YieldExprNode using
>>>> helper ClosureTempAllocator
>>
>> Ok, that currently lives in ParseTreeTransforms, which is totally the wrong
>> place for anything that generates code. It also mixes functionality that
>> normally lives in Symtab.py with functionality that lives in Code.py.
>>
>
> Yes, I know. That was placed there to give it a try (actually I'm not
> sure what is the best place for it). ClosureTempAllocator now is
> attribute of defnode and all yieldnodes, that's not clean.
>
> ExprNode.StopIterationNode isn't expression should it be moved to Nodes.py?
>
> create_abstract_generator() is rather dirty
>
> I don't know how to bind C functions to CClass.
>
> I think that generator body could have PyObject *body(PyObject *self,
> PyObject *value) signature
> With value=Null meaning exception.
>
>> Could you give me ("scoder", or better all Cython devs) commit rights to
>> your repo so that I can start refactoring the code and fix problems I find?
>>
>
> I've added you, but I don't know how to add all devs together.

I don't think there's a way to do that, just add whoever you want help
participating on this branch. My username is robertwb, and though I
haven't rally had time to read any code yet, I'm very interested and
would like to help out if I can.

>> I could also add Hudson jobs for it. Robert, would it be ok to add them for
>> all Python versions?

I think that would be excessive. Lets just do 2.4, 2.7, and a 3.x. If
there's a strange corner case that only manifests in, say, 2.5 then
we'll deal with it later.

> Yeah, please that would be nice.
>
>>>>    - PyxGenerator methods are defined via declare_var
>>>
>>> Should we call that "CyGenerator" ? :)
>>
>> I actually meant to call it "CyGenerator" at the Python level, but I now
>> see that it's actually a purely internal thing. That makes __Pyx_Generator
>> a better choice, given that "__pyx_" is the globally reserved prefix in
>> Cython code.
>>
>
> Should rename it back ;)
>
>> Eventually, we may(!) want to reuse the superclass across modules, but I
>> currently have no idea how that could be made to work. So it's just another
>> thing that we don't need to worry about now.
>>
>
> Okay.
>
> How can I declare function entry with METH_VARGS signature?
> Using TypeSlots I can add METH_VARGS|METH_KWARGS entries but not
> single METH_VARGS
>
> That's preferd for "throw" method.

Just let it be METH_VARGS|METH_KWARGS for now. That doesn't mean it
can actually take arbitrary keyword arguments, just that the arguments
that are needed can be passed in as keywords.

- Robert
_______________________________________________
Cython-dev mailing list
Cython-dev@codespeak.net
http://codespeak.net/mailman/listinfo/cython-dev

Reply via email to