Stefan Behnel wrote:
Terry Reedy wrote:

Do you have any plans to support/use 3.0 type annotations so that one could develop function-oriented code in 3.0 and then compile efficient C (for whatever CPython version) without adding Python-incompatible cdefs?

That is still an official TODO, but there isn't currently any support for it,
nor any effort to implement it (patches obviously welcome).

The problem is that it only applies to function parameters, not to local

I was presuming some type inferencing for locals ;-)

variables or anything else, so the gain is actually very small.

Why I said 'function-oriented'.

> On the other
hand, the "pure Python mode", as it is currently implemented, is much more
powerful and allows you to annotate most things in Cython without loosing
the ability to run the code unchanged in plain Python (including Jython and
friends, although I never tested that).

http://wiki.cython.org/pure

Ah.  Missed it.  Very interesting and even better.
How is one supposed to get there from the main page?
http://wiki.cython.org/Cython
Perhaps under "*Using early binding techniques to improve speed"
you could add "* Early binding in pure Python code." or some such.

One really neat feature is that you can put a .pxd file next to your .py file
and let it override the function signatures and classes. So you do not even
need Py3 annotations, which have the obvious disadvantage of requiring Py3.

That is not much of a disadvantage for code intended to be compiled. But the annotation is limited. Support for nested defs and generators is much more critical.

Typo? Should 'typedef(cython.p_int)' be 'cython.typedef(cython.p_int)'?
Also, the 'enhancement' page has separate misspelled 'seperate' twice.

Terry Jan Reedy

_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to