How about adding rational fraction to Python?

Grant Edwards grante at
Tue Feb 26 20:32:14 CET 2008

On 2008-02-26, J. Cliff Dyer <jcd at> wrote:

> So do you believe that you should not be able to do natural
> division without explicitly casting ints as floats,

IMO, you're begging the question by using the phrase "natural
division" when what you mean is "floating point division", but
yes, I prefer requiring explicit conversion to floating point.

> or is yourw concern just that you want to still be able to to
> integer division simply?

Nope.  I would prefer that  int OP int always produce an int.

> For me personally, I'm happy knowing that integer division is
> still available through the // operator.  I'm not offended
> that other, highly useful forms of division would be given
> operator status.  Granted, I'm not old school like you, but I
> do appreciate clean design, and typing:
> float(3)/4 always struck me as an ugly hack to get integers to do
> something that comes naturally to them--divide into a result outside the
> set of integral numbers.

Again, you're begging the question by using the term "natural"
to describe your opinion. I find int OP int => float to be
unnatural.  It's much too "implicit" for me.

> I agree that integer division is useful and important, but I
> don't think it's a travesty to support other kinds of
> division, especially when integer division still has its own
> operator.

If integer division is going to have it's own operator, why not
the same for integer subtraction or integer multiplication?
Yes, I know the theoretical answer, but from a computer
architecture POV, integer addition and floating point addition
are completely separate and unrelated things.

Grant Edwards                   grante             Yow! Well, O.K.
                                  at               I'll compromise with my
                                 principles because of
                                                   EXISTENTIAL DESPAIR!

More information about the Python-list mailing list