Maintenance release? (Was RE: Variables different between .py and .pyc)

Thomas Wouters thomas at xs4all.net
Tue May 8 10:02:45 EDT 2001


On Tue, May 08, 2001 at 03:58:29AM -0400, Tim Peters wrote:
> [Aahz Maruch, on a proposed change to make .pyc/.pyo files store
>  repr(float) instead of str(float)]

> > Ouch.  This is the kind of situation where I was thinking that a
> > distinction between "bugfix release" and "maintenance release" might
> > be useful.  OTOH, it's hard to imagine a case where fixing this
> > would make things worse....  I mean, really, what could this break?

> Perhaps you have no experience with floating-point code <2/3 wink>?  Over the
> years I've spent a good (distributed) half year of my life tracking down
> gross problems in numerically naive algorithms triggered by measly 1-bit
> differences.  This is a much bigger change than that.  Even a good algorithm
> will return *different* results, and of course some people will scream
> "different" == "broken".  You can't fix *any* bug that changes a result
> without somebody feeling abused.

> Trivial:
> CONST = 0.0054794520547945206
> i = int(CONST * 365)
> The difference between current .pyc precision and proposed .pyc precision
> there is the difference between i==1 and i==2.  Can you imagine why changing
> an integer could break something?

Hmmm.... But 'i' would be 1 or 2 depending on whether the interpreter had
loaded a .pyc file or compiled a fresh one ? Ewwww :) I'm tempted to say
this is a bugfix, but since it's a bugfix that changes things silently, I'll
say that even then it's not supposed to go into 2.1.x. People have been
living with it for 10 years, they can live with it for a few more months ;)

It should definately go into Python 2.2, though, and I don't think it needs
more than a notice in the NEWS file -- I seriously doubt anyone will run
into it.

-- 
Thomas Wouters <thomas at xs4all.net>

Hi! I'm a .signature virus! copy me into your .signature file to help me spread!




More information about the Python-list mailing list