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
