On Mon, Dec 24, 2012 at 3:25 PM, Mark H Weaver <[email protected]> wrote:

> Alex Shinn <[email protected]> writes:
>
> > On Mon, Dec 24, 2012 at 7:51 AM, Mark H Weaver <[email protected]> wrote:
> >
> >     What external representation will you use for these numbers?  For
> >     example, even if you can efficiently handle something like this:
> >
> >       (do ((i 10000000 (- i 1))
> >            (x 1e300 (expt x x)))
> >           ((zero? i) (/ x)))
> >
> >     What will you do if someone applies 'number->string' to the
> >     result?
> >
> > It will use Conway's chained arrow notation, as mentioned
> > in my previous mail.
> >
> > What you're describing here is just tetration:
> >
> >   (tetrate 1e300 100000000)
>
> That's not quite right, but anyway the precise value of this number is
> not relevant to my point.  My question was about how such numbers would
> be printed, and your answer was that it might look something like this:
>
> >   1/1e300->1e7->2
>
> My point is that the results of ordinary inexact numerical computations
> that are printed 0.0 on virtually every other system will apparently be
> printed in a non-standard notation in future Chibi.
>

Yes, precisely, where normal implementations will produce
+inf.0 or -0.0, chibi will produce finite non-zero values.

In all other cases, numbers in chibi will be normalized to
produce the same output as other implementations.  Thus
the difference only arises when IEEE has already
over/underflowed and is giving infinitely incorrect values.
This is purely a win.

-- 
Alex
_______________________________________________
Scheme-reports mailing list
[email protected]
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports

Reply via email to