[racket-dev] `math' compilation time !!!

From: Eric Dobson (eric.n.dobson at gmail.com)
Date: Fri Mar 1 11:50:28 EST 2013

Why is Nonnegative-Real not suggestive of the right thing? To me that
means (and/c real? (not/c (lambda (x) (< x 0)))) which is exactly what
it is.

I think the confusing part is that -0.0 has a minus sign in front
which means that you think it is negative, but this isn't true.

On Fri, Mar 1, 2013 at 8:31 AM, Robby Findler
<robby at eecs.northwestern.edu> wrote:
> Is there perhaps a more suggestive name? (Not that I'm coming up with
> one...)
>
> Robby
>
>
> On Fri, Mar 1, 2013 at 10:22 AM, Vincent St-Amour <stamourv at ccs.neu.edu>
> wrote:
>>
>> At Fri, 01 Mar 2013 09:05:21 +0100,
>> Marijn wrote:
>> > On 27-02-13 21:51, Neil Toronto wrote:
>> >
>> > > (An example that came up in the implementation of matrix norms: the
>> > > type of (sqrt (/ 1 x)) isn't Nonnegative-Real if x :
>> > > Nonnegative-Real, but Complex. Consider x = -0.0. Without TR's
>> > > complaints, `matrix-norm' would have contained a time bomb.)
>> >
>> > Should -0.0 really be a Nonnegative-Real?
>>
>> That's by design.
>>
>> Including both floating-point zeroes in both non-negative and
>> non-positive types is necessary to make occurrence typing useful for
>> comparisons between floating-point numbers and zero (see PR12706 for
>> more details). It also simplifies parts of the numeric base environment
>> significantly.
>>
>> Vincent
>>
>> _________________________
>>   Racket Developers list:
>>   http://lists.racket-lang.org/dev
>
>
>
> _________________________
>   Racket Developers list:
>   http://lists.racket-lang.org/dev
>

Posted on the dev mailing list.