[Haskell-cafe] Data types and Haskell classes

Jens Blanck jens.blanck at gmail.com
Mon May 16 15:26:07 EDT 2005


How would I introduce number classes that are extended with plus and
minus infinity? I'd like to have polymorphism over these new classes,
something like a signature

f :: (Real a, Extended a b) => b -> b

which clearly is not part of the current syntax, but I hope you get
the picture. What are the elegant ways of doing this?

Somewhat related (I think), I have a class of dyadic numbers, it is
clearly in Num and Real, but not in Fractional. Now, I would like to
have intervals, both dyadic and rational, providing operations like
lower and upper end point, centre, diameter, the partial order of
interval inclusion, and membership for a dyadic/rational number. All
these operations can be computed on dyadic numbers (only division by 2
is needed). Could I make the rational numbers belong to a class of
"averageable numbers" or something like that so that I can get actual
dyadic numbers returned when they happen to be dyadic?

Jens


More information about the Haskell-Cafe mailing list