<div dir="auto">Wouldn't it make more sense to get at the idea from another direction or two? One obvious idea is to compare to a rational number:<div dir="auto"><br><div dir="auto"><div dir="auto">    compareRational :: a -> Rational -> Ordering</div><div dir="auto"><br></div><div dir="auto">Neither this nor Ord can be supported by computable reals, so maybe there should be a superclass for numbers that can be *approximated by* rationals to an arbitrary precise degree.</div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Dec 23, 2020, 8:06 PM David Feuer <<a href="mailto:david.feuer@gmail.com">david.feuer@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto">Perhaps that's the answer, but it seems frankly bizarre to call a class Real if `Real s` actually means that `s` is a subset of the rational numbers.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Dec 23, 2020, 8:02 PM Henning Thielemann <<a href="mailto:lemming@henning-thielemann.de" target="_blank" rel="noreferrer">lemming@henning-thielemann.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
On Wed, 23 Dec 2020, David Feuer wrote:<br>
<br>
> The Real class has one method:<br>
> -- | the rational equivalent of its real argument with full precision<br>
> <br>
> toRational :: a -> Rational<br>
> <br>
> This is ... pretty weird. What does "full precision" mean? For integral and floating point types, it's fine. It's<br>
> not at all meaningful for<br>
> <br>
> 1. Computable reals<br>
> 2. Real algebraic numbers<br>
> 3. Real numbers expressible in radicals<br>
> 4. Rational numbers augmented with some extra numbers like pi<br>
> 5. Geometrically constructable reals<br>
> 6. Etc.<br>
<br>
They cannot have Real instances, then. Right?<br>
</blockquote></div>
</blockquote></div>