[Python-Dev] python compiler (original) (raw)

Maciej Fijalkowski fijall at gmail.com
Mon Apr 5 22:11:33 CEST 2010


On Mon, Apr 5, 2010 at 1:47 PM, Craig Citro <craigcitro at gmail.com> wrote:

There has been some contentious debate about this in the past, where a Cython developer(s?) insisted Cython be listed among the "Python implementations" somewhere, on a par with IronPython, Jython and PyPy. This does not seem the right place to list Cython to me. (Much though I admire Cython's accomplishments!)

Insofar as the OP asked about "a compiler for Python" and you pointed to Cython as an example, your post could easily be misunderstood as an attempt to reopen that debate. Ahh. Well, I can't speak for the rest of the Cython folks, but let me say: I agree, Cython can't stand on its own without CPython, and there are a ton of other things I'm personally interested in doing long before we try to change that. Sorry if I was accidentally fanning any dying embers. :) Beign able to access call frames via tracebacks is certainly part of the standard semantics, and a proper Python implementation should go through great lengths to get this interface right (as IronPython, Jython and PyPy indeed do). Is the requirement just the construction of full tracebacks in the event of an exception? Because Cython does that right now. In the event of an exception, the Python call frames are constructed as the C call stack is unwound. I thought Maciej was suggesting that having full Python frames for any Python call was part of the semantics, which is what we only do in the case of a profiling run. I'm really not trying to belabor the point -- but if there's something Cython should be doing and isn't, it's always good to hear about it. (Feel free to point me to an appropriate section of the docs ...)

However those frames are not completely like Python frames - they don't let you look into locals for example. It's a cool feature though that it exists at all, I did not know that.

Cheers, fijal



More information about the Python-Dev mailing list