
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?