<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sun, Jun 29, 2014 at 12:15 AM, Mike Meyer <span dir="ltr"><<a href="mailto:mwm@mired.org" target="_blank">mwm@mired.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div class="">On Sat, Jun 28, 2014 at 10:52 PM, Brandon Allbery <span dir="ltr"><<a href="mailto:allbery.b@gmail.com" target="_blank">allbery.b@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra">I imagine that, like Ord, a decision was made to implement the proper mathematical abstraction and not merely a convenient one. This seems to be the "Haskell way". (I'm not sure how it explains Double, though the numeric hierarchy has a lot of compromises in the name of convenience or expected behavior. Possibly Monad was in some sense a reaction to this, even: "we got that one wrong, let's do this one correctly".)</div>

</div></blockquote><div><br></div></div><div>Double, like Int, is a computer construct, not a mathematical one.  They both map to hardware types that act like mathematical ones until you look closely, but have better performance than the software constructs that have better behavior. </div>

</div></div></div>
</blockquote></div><br>Sure, but that doesn't change the fact that IEEE754 NaN in particular means there is no total ordering.<br clear="all"><div><br></div>-- <br><div dir="ltr"><div>brandon s allbery kf8nh                               sine nomine associates</div>
<div><a href="mailto:allbery.b@gmail.com" target="_blank">allbery.b@gmail.com</a>                                  <a href="mailto:ballbery@sinenomine.net" target="_blank">ballbery@sinenomine.net</a></div><div>unix, openafs, kerberos, infrastructure, xmonad        <a href="http://sinenomine.net" target="_blank">http://sinenomine.net</a></div>
</div>
</div></div>