
On Sat, 9 Sep 2006, Ross Paterson wrote:
On Sat, Sep 09, 2006 at 12:57:56AM -0400, Cale Gibbard wrote:
Num itself needs to be split, but we can't do it sanely without something like class aliases.
I think that a finer grain numeric hierarchy, while retaining Num, etc, is feasible without changing the language: unlike the case of monads, the people who will be defining instances of numeric classes are the very ones who are inconvenienced by the current hierarchy. The main impact on clients of the classes is that some functions would have more general types.
There are many Num instances around in libraries where people wrap to external libraries: functionalMetapost, CSound wrapper in Haskore, SuperCollider (GSL too?). What about Num (algebraically Ring) instances of polynomials, residue classes and other such advanced mathematical objects?