<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">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>