Haoyu Bai, 06.04.2010 10:58:
> Now my proposal is on the Cython wiki for comment:
>
> http://wiki.cython.org/HaoyuBai/GSoC2010

Thanks, that looks really good!

My comments:

In general, the tickets you propose to fix (mostly in part 1 of your 
schedule) touch most of the Cython compiler, so there is a lot you will 
(have to) learn and look into. Don't make your schedule too tight. I really 
like the patches that you have written so far, so I'm confident that you 
can achieve what you have proposed.

#465 may be a little more work than you expect, especially when you are new 
to the Cython code base. It may require a new scope class for 
comprehensions, and the comprehension must then get analysed within that 
scope. This kind of stuff can be pretty tricky to get right. The exception 
scoping may end up having a similar solution.

Support for __annotations__ is certainly not worth a week. All you have to 
do is build a DictNode that maps parameter names to their annotation value, 
let it generate its code during module setup, and pass the result to 
PyFunction_SetAnnotations(). Given how much you will have learned from the 
other tickets before that, this will likely not take you more than a day to 
implement. I'd expect that the complete annotation support, including the 
extraction of type annotations (and writing tests for them), can be done in 
less than one week. Remember that Cython /has/ static typing, so this is 
just adding a new syntax for it. Almost everything you need is there 
already, you just have to stick it together. The only bit that isn't there 
already is return types for Python (def) functions - we will need to 
discuss what impact this should have on the generated code (function 
internal/external type checks? different calling convention like auto-cpdef?).

So, basically, part 2 of your proposed schedule will give you time to 
finish the first part, which I think will take longer. Part 3 may also take 
less time (again, the semantics is implemented, so it's mostly syntactic 
changes).

I certainly support your proposal.

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

Reply via email to