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.

On Wed, Dec 23, 2020, 8:02 PM Henning Thielemann <lemming@henning-thielemann.de> wrote:

On Wed, 23 Dec 2020, David Feuer wrote:

> The Real class has one method:
> -- | the rational equivalent of its real argument with full precision
>
> toRational :: a -> Rational
>
> This is ... pretty weird. What does "full precision" mean? For integral and floating point types, it's fine. It's
> not at all meaningful for
>
> 1. Computable reals
> 2. Real algebraic numbers
> 3. Real numbers expressible in radicals
> 4. Rational numbers augmented with some extra numbers like pi
> 5. Geometrically constructable reals
> 6. Etc.

They cannot have Real instances, then. Right?