On Mon, 11 Sep 2006, Ross Paterson wrote: > On Mon, Sep 11, 2006 at 04:26:30PM +0200, Henning Thielemann wrote: > > On Sat, 9 Sep 2006, Ross Paterson wrote: > > > 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? > > And what do abs and signum mean for Haskore's orchestra expressions, > polynomials, residue classes, vectors, matrices, functions, etc?
For clarification: Haskore does not define any arithmetic for music, but CSound provides some arithmetic and Haskell wraps it with Num instances. > The people who define those wish they were defining Ring, but they must > define Num. It seems we are at a point, where we have to define what is a 'number'. More precisely: Can you tell me the difference between numbers and "more complex mathematical objects"? Is a complex number a number? Is a quaternion a number? Is a residue class a number? We can calculate with integers modulo some other integer like with integers - is that considered computation with numbers? Shall we distinguish between matrices of numbers and matrices of more complex mathematical objects? In signal theory matrices of polynomials are very common. _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
