My comments Marcin 'Qrczak' Kowalczyk (19 Oct 2005 18:37 UTC)
Re: My comments Bradd W. Szonye (19 Oct 2005 19:17 UTC)
Re: My comments Thomas Bushnell BSG (19 Oct 2005 19:44 UTC)
Re: My comments Bradd W. Szonye (19 Oct 2005 19:55 UTC)
Re: My comments Thomas Bushnell BSG (19 Oct 2005 20:11 UTC)
Re: My comments John.Cowan (19 Oct 2005 20:10 UTC)
Re: My comments Thomas Bushnell BSG (19 Oct 2005 20:13 UTC)
Re: My comments Bradd W. Szonye (19 Oct 2005 20:25 UTC)
Re: My comments Marcin 'Qrczak' Kowalczyk (19 Oct 2005 20:23 UTC)
Re: My comments Bradd W. Szonye (19 Oct 2005 20:36 UTC)
Re: My comments Marcin 'Qrczak' Kowalczyk (19 Oct 2005 21:36 UTC)
Re: My comments Bradd W. Szonye (19 Oct 2005 21:42 UTC)
Re: My comments Bradd W. Szonye (19 Oct 2005 22:08 UTC)
Exactness (was Re: My comments) bear (20 Oct 2005 01:50 UTC)
Re: Exactness Thomas Bushnell BSG (20 Oct 2005 03:45 UTC)
Re: Exactness Marcin 'Qrczak' Kowalczyk (20 Oct 2005 09:13 UTC)
Re: Exactness Bradd W. Szonye (20 Oct 2005 20:15 UTC)
Re: Exactness bear (20 Oct 2005 22:09 UTC)
Re: Exactness Marcin 'Qrczak' Kowalczyk (21 Oct 2005 02:08 UTC)
Re: Exactness Thomas Bushnell BSG (21 Oct 2005 03:05 UTC)
Re: Exactness Marcin 'Qrczak' Kowalczyk (21 Oct 2005 08:15 UTC)
Re: Exactness Thomas Bushnell BSG (21 Oct 2005 18:38 UTC)
Re: Exactness Marcin 'Qrczak' Kowalczyk (21 Oct 2005 20:12 UTC)
Re: Exactness Thomas Bushnell BSG (21 Oct 2005 20:29 UTC)
Re: Exactness Marcin 'Qrczak' Kowalczyk (21 Oct 2005 20:38 UTC)
Re: Exactness Thomas Bushnell BSG (21 Oct 2005 20:44 UTC)
Re: Exactness Marcin 'Qrczak' Kowalczyk (21 Oct 2005 21:20 UTC)
Re: Exactness Thomas Bushnell BSG (21 Oct 2005 21:44 UTC)
Re: Exactness Marcin 'Qrczak' Kowalczyk (21 Oct 2005 22:18 UTC)
Re: Exactness Thomas Bushnell BSG (21 Oct 2005 22:48 UTC)
Re: Exactness Marcin 'Qrczak' Kowalczyk (22 Oct 2005 00:34 UTC)
Re: Exactness Thomas Bushnell BSG (22 Oct 2005 01:02 UTC)
Re: Exactness Per Bothner (22 Oct 2005 00:59 UTC)

Re: Exactness Thomas Bushnell BSG 21 Oct 2005 20:29 UTC

Marcin 'Qrczak' Kowalczyk <xxxxxx@knm.org.pl> writes:

> A. The programmer could use exact numbers here, hoping that some day
>    someone will invent a Scheme implementation which would compile
>    this program into efficient code. The decision was also supported
>    by the fear that some weird Scheme implementation could choose the
>    default format of inexact real numbers such that the version with
>    inexact numbers would accumulate increasing precision eating more
>    and more memory.
>
> B. The programmer knows that ratnums are inappropriate here, and
>    at the same time knows that flonums are appropriate. He chooses
>    flonums by writing a number with a decimal point, and all existing
>    Scheme implementations run this code fine.

How abouc C:

C.  The Scheme language be augmented with functions that guarantee
    that the memory used by the results will not be greater than that
    used by the operands, and that even if the arguments are exact,
    the results may be inexact as necessary to conform to this space
    usage requirement.  Such functions could also have optional or
    default arguments that specify the exact behavior in "overflow"
    situations.

>> Do you care whether they are called "portable flonums"?
>> Can we call them something else and you will be happy?
>
> I care that they are fast, that they are used by default for numbers
> entered with a decimal point, that I don't have to check whether
> exp(x) will overflow before applying exp, that a number which has
> overflowed can be printed and read by other implementations, that
> arctangent of a number which has overflowed is close to pi/2, and that
> if I need to interface to C in order to compute erf(x), then the only
> portability issues will be with linking with C - not with passing the
> numeric value.

Great, so we can keep the existing types, the existing exact/inexact
distinction, and provide space-constant functions as I suggest.  All
that seems to be fine.

Thomas