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