> what about
> 
> Rational(5, 1) / Rational(2,1) -> Rational(5,2)
> 5 / 2 -> 2
> 5.0 / 2.0 -> 2.5

Seems better than 5 / 2  => Rational to me.

> And then for pragmatic reasons define automatic conversion when there are
> mixed types:
> 
> 5.0 / 2 -> 2.5
> 
> This is what Ruby does today - and actually I so no practical or
> mathematical reason to change it.

12345678901234567890 / 1.0  => 1.23456789e+19

which actually looses accuracy, by automatically converting to float,
instead of BigNum. This would be an argument to drop automatic
conversion for floats. You could still convert automatically with
Numerics and Rationals, since you loose nothing (and should expect a
Rational anyway).

+--- Kero ------------------------------ kero / chello.nl ---+
|  Don't split your mentality without thinking twice       |
|                          Proud like a God -- Guano Apes  |
+--- M38c ------- http://members.chello.nl/~k.vangelder ---+