[Python-Dev] Expert floats

Tim Peters tim.one at comcast.net
Fri Apr 2 00:07:33 EST 2004

[Andrew Koenig, on the move-to-wider-platform thing]
> ...
> OK, but either that objection is relevant for Python or it isn't.

It's not important to me.  It may be important to some Python users now; I
don't know.  It may be more or less important in the future, because things
do change.

> ...
> On the other hand, maybe ?!ng is right about the desirable properties
> of display for people being different from those for
> marshalling/unmarshalling.

There's no necessary connection between the two, as I've granted for all the
years this debate has raged <wink>.

OTOH, there's no fixed choice for displaying floats that will make everyone
happy all the time, or, I think, even most people happy most of the time.
You gave a list of 4 different behaviors you sometimes want.  I have my own
list, including some not on yours:

+ Display numbers with a comma every third digit.

+ Display numbers with just a few significant digits, but in
  "engineering" notation (== exponent always a multiple of 3).

Because of this, arguments about repr() and str() are futile, IMO.  The
flexibility most people want some of the time can't be gotten by changing
one fixed behavior for another.  This isn't limited to floats, either.


>> Python would love to grab their I/O implementation then <0.8 wink>.

> http://www.research.att.com/sw/tools/sfio/
> I think the licensing terms are compatible with Python, if you're
> serious.

It was considered before, but its portablility to non-Unixish system looks
poor, and in particular its Windows story appears to require commercial
users to buy a UWIN license.

Guido started on something different in the Python CVS sandbox/sio.  I don't
think he wrote a design doc, but the thrust is more to make composable
filtering streams (like streams that deal with Unicode gracefully, and that
hide differences among the different line end conventions (it's increasingly
common to have to deal with a variety of file formats on a single box)).

More information about the Python-Dev mailing list