(inf) min max

2021-09-28 Thread Stefan Israelsson Tampe
Why is (min (inf) 1) = 1.0  inexact?


Re: (inf) min max

2021-09-28 Thread tomas
On Tue, Sep 28, 2021 at 10:15:30AM +0200, Stefan Israelsson Tampe wrote:
> Why is (min (inf) 1) = 1.0  inexact?

Because inf's result is inexact. The same as (min 3 3.5) is inexact,
too.

It seems that the `inexactness' is contagious across arithmetic
generics (I haven't found an explicit place in the Guile docs;
the racket docs are more explicit about that).

Cheers
 - t


signature.asc
Description: Digital signature


Re: (inf) min max

2021-09-28 Thread Stefan Israelsson Tampe
Then this does not work well

(fold min (inf) (list 1
200
3 4))

which is a pity, we should have an exact inf as well

On Tue, Sep 28, 2021 at 10:32 AM  wrote:

> On Tue, Sep 28, 2021 at 10:15:30AM +0200, Stefan Israelsson Tampe wrote:
> > Why is (min (inf) 1) = 1.0  inexact?
>
> Because inf's result is inexact. The same as (min 3 3.5) is inexact,
> too.
>
> It seems that the `inexactness' is contagious across arithmetic
> generics (I haven't found an explicit place in the Guile docs;
> the racket docs are more explicit about that).
>
> Cheers
>  - t
>


Re: (inf) min max

2021-09-28 Thread tomas
On Tue, Sep 28, 2021 at 11:55:06AM +0200, Stefan Israelsson Tampe wrote:
> Then this does not work well
> 
> (fold min (inf) (list 1
> 200
> 3 4))
> 
> which is a pity, we should have an exact inf as well

Yeah, the idea of a numerical "tower" breaks down a bit in
the presence of arbitrarily big ints and exact fractions of
those. Suddenly, IEEE 754 aren't (always) at the tower's
"top".

It is as if someone attached a balcony to one of the
tower's sides and put an even taller tower on top of
that :-)

Cheers
 - t


signature.asc
Description: Digital signature


Re: (inf) min max

2021-09-28 Thread Mikael Djurfeldt
The proper way to handle this would, as you suggest, be to distinguish
different kinds on infinities. Then, perhaps, countable infinity could be
regarded as scheme:ish exact while infinities of higher cardinality would
not (since scheme's handling of that kind of numbers is an approximation
and, thus, not exact).

Den tis 28 sep. 2021 11:56Stefan Israelsson Tampe 
skrev:

> Then this does not work well
>
> (fold min (inf) (list 1
> 200
> 3 4))
>
> which is a pity, we should have an exact inf as well
>
> On Tue, Sep 28, 2021 at 10:32 AM  wrote:
>
>> On Tue, Sep 28, 2021 at 10:15:30AM +0200, Stefan Israelsson Tampe wrote:
>> > Why is (min (inf) 1) = 1.0  inexact?
>>
>> Because inf's result is inexact. The same as (min 3 3.5) is inexact,
>> too.
>>
>> It seems that the `inexactness' is contagious across arithmetic
>> generics (I haven't found an explicit place in the Guile docs;
>> the racket docs are more explicit about that).
>>
>> Cheers
>>  - t
>>
>