ANN: Pyrex 0.4.3
Terry Reedy
tjreedy at udel.edu
Tue Aug 27 15:54:12 EDT 2002
"Skip Montanaro" <skip at pobox.com> wrote in message
news:mailman.1030460145.28063.python-list at python.org...
>
> Matthias> What's the reason of introducing a new language
construct
> Matthias> instead of transforming the old one into a pure C loop
> Matthias> wherever possible?
>
> Because Python is highly dynamic:
>
> >>> def myrange(x,y=None,z=None):
> ... return [4.0]
> ...
> >>> import __builtin__
> >>> __builtin__.range = myrange
> >>> for i in range(12):
> ... print i
> ...
> 4.0
>
> When compiling, you can't assume anything about the input parameters
or
> return value of range(). You need a new construct which says, "this
is how
> to enumerate the integers between x and y."
I would rather that Pyrex make that assumption -- that I have not
done anything so crazy (rare) as to replace a builtin -- and maybe
give me an option to declare that I have if I have. Similarly for
len() and other builtins.
Terry J. Reedy
More information about the Python-list
mailing list