Infinity is a very slippery concept, you can't compute with it like that. You can compute various limits, though. So, e.g., for a > 0 lim x*a -> Inf x->Inf and lim x*0 -> 0 x->Inf But lim x*(1/x) -> 1 x->Inf And that last one would be "Inf*0" in the limit. In fact, you can make Inf*0 any number you like. So NaN is the sensible.
-- Lennart On 8/4/07, Andrew Coppin <[EMAIL PROTECTED]> wrote: > > > > > >> Um... why would infinity * 0 be NaN? That doesn't make sense... > > Infinity times anything is Infinity. Zero times anything is zero. So > > what should Infinity * zero be? There isn't one right answer. In > > this case the "morally correct" answer is zero, but in other contexts > > it might be Infinity or even some finite number other than zero. > > I don't follow. > > Infinity times any positive quantity gives positive infinity. > Infinity times any negative quantity gives negative infinity. > Infinity times zero gives zero. > > What's the problem? > > > Consider 0.0 / 0.0, which also evaluates to NaN. > > Division by zero is *definitely* undefined. (The equation 0 * k = v has > no solutions.) > > _______________________________________________ > Haskell-Cafe mailing list > [email protected] > http://www.haskell.org/mailman/listinfo/haskell-cafe >
_______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
