[Python-Dev] Int FutureWarnings and other 2.4 TODOs

Guido van Rossum guido at python.org
Sat Nov 29 19:56:58 EST 2003


> > (2) PEP 237 promises that repr() of a long should no longer show a
> >     trailing 'L'.  This is not yet implemented (i.e., repr() of a long
> >     still has a trailing 'L').  First, past experience suggests that
> >     quite a bit of end user code will break, and it may easily break
> >     silently: there used to be code that did str(x)[:-1] (knowing x
> >     was a long) to strip the 'L', which broke when str() of a long no
> >     longer returned a trailing 'L'.  Apparently some of this code was
> >     "fixed" by changing str() into repr(), and this code will now
> >     break again.  Second, I *like* seeing a trailing L on longs,
> >     especially when there's no reason for it to be a long: if some
> >     expression returns 1L, I know something fishy may have gone on.
> 
> -0, The reasons are good but this one has been promised for several
> years.  It's time for an L free python -- one less thing to have to
> learn.

Yes, but people using type() or isinstance() or __class__ will still
have to remember that there are two types of integers: int and long.
And both built-ins will be with us for years, and they aren't quite
aliases for each other (long('12') returns a long, but int('12') an
int).

> If there is transition difficultly, let it be a prompt to consider
> applying the forthcoming Decimal module.

This I don't understand.

> If necessary, we could add a debug mode switch for L's to be on or off.
> By putting it the debug build, we keep people from using it in
> production code.  The purpose is to allow code to be run twice to see if
> different results are obtained.

But making a debug build is far from trivial (especially on Windows).
Perhaps it should be a switch on the regular build but also produce a
warning, to annoy. :-)

> Also, we can put migration advice in PEP 290 and whatsnew24.tex to grep
> for indicators like [:-1] on the same line as long() or repr().

Can you take care of that?

> > Should I update PEP 237 to reflect this?
> 
> Yes, that's better than surprising people later.

I'll do that (in due time).

--Guido van Rossum (home page: http://www.python.org/~guido/)



More information about the Python-Dev mailing list