ANN: Pyrex 0.4.3

Skip Montanaro skip at
Wed Aug 28 03:55:18 CEST 2002

>>>>> "François" == François Pinard <pinard at> writes:

    François> [Skip Montanaro]
    >> In contrast, stating something like

    >> cdef int __builtin__.range(int, int, int)

    >> tries to force your notion of the range() builtin's prototype on
    >> other modules in the application, many of which may be out of your
    >> control.

    François> Sorry, I am missing that point.

It's just a simple point.  Suppose we have two modules in our application,
call them A and B, and that they both make use of the range() builtin.
Suppose also that we decide for whatever reason (debugging, perhaps?) that
__builtin__.range() should be overridden.  Now, we decide that module B
should be Pyrex-ified.  Even though the Pyrex-generated version of module B
still appears to use __builtin__.range(), it actually doesn't.  The
semantics of the program have changed subtly.  This is likely not to be a
big deal for most people, but may occasionally bite someone.

    François> In any case, I'll happily use whatever Greg decides we should
    François> use! :-)

I suspect I will as well.

(Greg, is your mailbox full yet?)


More information about the Python-list mailing list