[Python-Dev] Re: More int/long integration issues
Guido van Rossum
guido@python.org
Thu, 20 Mar 2003 17:33:35 -0500
> Guido van Rossum <guido@python.org> writes:
>
> > The bytecode compiler should be clever enough to see that you're
> > writing
> >
> > for i in range(...): ...
> >
> > and that there's no definition of range other than the built-in one
> > (this requires a subtle change of language rules); it can then
> > substitute an internal equivalent to xrange().
>
> Ouch! What happens to:
>
> def foo(seq):
> for x in seq:
> ...
>
> foo(xrange(small, really_big))
>
> if xrange dies??
Good point. I guess xrange() can't die until range() becomes an
iterator (which can't be before Python 3.0).
Hm, maybe range() shouldn't be an iterator but an interator
generator. No time to explain; see the discussion about restartable
iterators.
--Guido van Rossum (home page: http://www.python.org/~guido/)