Original-Via: uk.ac.nsf; Fri, 24 Jan 92 20:04:55 GMT
Haskell 1.2.beta defines (pp. 58 and 89)
class (Num a, Ord a) => Real a
and
class (Real a) => Integral a
Proposal: change this to
========
class (Num a, Ord a, Enum a) => Real a
and
class (Real a, Ix a) => Integral a
Reasons for: 1: 'cause that's the way it is.
2: the more connected the graph of subclass inclusions
becomes, the easier it is to understand.
Reasons against: ???
Consequences: Every type that is declared to be an instance
of Real (or Integral) must also be declared to
be an instance of Enum (or Ix).
This requires no change to the standard prelude,
and only a few lines extra code for user-defined
numeric types.
Can anyone come up with reasons against?
-- Mikael R.