Hi all,

So this has already been discussed in several other threads, but I
think the current plan is: once Robert releases 0.12.1, we'll pull all
the changes from there into the cython-closures branch, and turn
cython-closures into cython-devel for 0.13. I was chatting with
Robert, and I think I'm happy to be the release manager for 0.13,
unless there are any objections ...

A few quick notes:

 - I just finished (taking forever to) add a big battery of tests in
the cython-closures branch. I ended up adding a wee bit of code, and
then working out a few reference counting bugs that we hit with
closures. I've committed all the tests into the closures branch (as a
series of 5 files; gcc and g++ were choking with everything in one
file). The tests are actually an old battery of tests in Scheme from
the compilers courses I took in undergrad -- I wrote a little compiler
that converted these to Python (modulo one issue I punted on due to a
difference with the way Scheme handles scoping for letrec). I verified
that Scheme, Python, and Cython gave the same results for each of
these, and the refnanny didn't complain at all, so I feel pretty
confident in the closures code. (Big thanks to the professors who
first came up with the battery of tests, and yes, I did check with
them before committing the tests.)

 - In the process of doing this, the refnanny complained a few times
-- so I wrote myself some notes on how reference counting should be
working. I realized these might be useful in general, so I've added a
little extra text and posted it on the wiki:

  http://wiki.cython.org/refcounting

 - There is one place where I really didn't test out the closures code
much, especially with an eye towards memory leaks/reference counting
troubles, and that's error handling. If you have some code that uses
nested functions and a bunch of error handling, I'd love to either (1)
hear what happens when you run it with the refnanny turned on, or (2)
have you send me a copy/post it somewhere so we can give it a go.

This is good -- I think the next step is to start working on the
generators implementation that came up in some other threads, and is
outlined on the wiki. I'm planning on starting on that soon, if no one
beats me to it -- and if my six-month old daughter decides to start
sleeping through the night, I might actually move faster than molasses
in January. ;)

-cc
_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev

Reply via email to