<div dir="ltr">Yes, you&#39;re right. Sorry for that confusion. I don&#39;t have that confusion with positive? and +0.0, after all!<div><br>Robby</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Mar 1, 2013 at 10:50 AM, Eric Dobson <span dir="ltr">&lt;<a href="mailto:eric.n.dobson@gmail.com" target="_blank">eric.n.dobson@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Why is Nonnegative-Real not suggestive of the right thing? To me that<br>
means (and/c real? (not/c (lambda (x) (&lt; x 0)))) which is exactly what<br>
it is.<br>
<br>
I think the confusing part is that -0.0 has a minus sign in front<br>
which means that you think it is negative, but this isn&#39;t true.<br>
<div class="HOEnZb"><div class="h5"><br>
On Fri, Mar 1, 2013 at 8:31 AM, Robby Findler<br>
&lt;<a href="mailto:robby@eecs.northwestern.edu">robby@eecs.northwestern.edu</a>&gt; wrote:<br>
&gt; Is there perhaps a more suggestive name? (Not that I&#39;m coming up with<br>
&gt; one...)<br>
&gt;<br>
&gt; Robby<br>
&gt;<br>
&gt;<br>
&gt; On Fri, Mar 1, 2013 at 10:22 AM, Vincent St-Amour &lt;<a href="mailto:stamourv@ccs.neu.edu">stamourv@ccs.neu.edu</a>&gt;<br>
&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; At Fri, 01 Mar 2013 09:05:21 +0100,<br>
&gt;&gt; Marijn wrote:<br>
&gt;&gt; &gt; On 27-02-13 21:51, Neil Toronto wrote:<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; &gt; (An example that came up in the implementation of matrix norms: the<br>
&gt;&gt; &gt; &gt; type of (sqrt (/ 1 x)) isn&#39;t Nonnegative-Real if x :<br>
&gt;&gt; &gt; &gt; Nonnegative-Real, but Complex. Consider x = -0.0. Without TR&#39;s<br>
&gt;&gt; &gt; &gt; complaints, `matrix-norm&#39; would have contained a time bomb.)<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Should -0.0 really be a Nonnegative-Real?<br>
&gt;&gt;<br>
&gt;&gt; That&#39;s by design.<br>
&gt;&gt;<br>
&gt;&gt; Including both floating-point zeroes in both non-negative and<br>
&gt;&gt; non-positive types is necessary to make occurrence typing useful for<br>
&gt;&gt; comparisons between floating-point numbers and zero (see PR12706 for<br>
&gt;&gt; more details). It also simplifies parts of the numeric base environment<br>
&gt;&gt; significantly.<br>
&gt;&gt;<br>
&gt;&gt; Vincent<br>
&gt;&gt;<br>
&gt;&gt; _________________________<br>
&gt;&gt;   Racket Developers list:<br>
&gt;&gt;   <a href="http://lists.racket-lang.org/dev" target="_blank">http://lists.racket-lang.org/dev</a><br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; _________________________<br>
&gt;   Racket Developers list:<br>
&gt;   <a href="http://lists.racket-lang.org/dev" target="_blank">http://lists.racket-lang.org/dev</a><br>
&gt;<br>
_________________________<br>
  Racket Developers list:<br>
  <a href="http://lists.racket-lang.org/dev" target="_blank">http://lists.racket-lang.org/dev</a><br>
</div></div></blockquote></div><br></div>