Documentation
class (C a, C a, Ord a) => C a whereSource
This is the type class of an ordered ring, satisfying the laws
a * b === b * a a + (max b c) === max (a+b) (a+c) negate (max b c) === min (negate b) (negate c) a * (max b c) === max (a*b) (a*c) where a >= 0
Note that abs is in a rather different place than it is in the Haskell 98 Prelude. In particular,
abs :: Complex -> Complex
is not defined. To me, this seems to have the wrong type anyway; Complex.magnitude has the correct type.