On Thu, 10 Jul 2003 10:58:51 +1000, Andrew J Bromage <[EMAIL PROTECTED]> wrote:
>This suggests that wrapping each "standard" mathemtaical >function/operator in its own typeclass would have literally >no run-time performance penalty: > > class Plus a b c | a b -> c where > (+) :: a -> b -> c > > class Mult a b c | a b -> c where > (*) :: a -> b -> c > > {- etc -} > > class (Eq a, Show a, > Plus a a a, Mult a a a, {- etc -} > ) => Num a > >Apart from the possibility of naming these typeclasses better, this >reorganisation gets my vote for Haskell 2. Given the current way the system works, this imposes a syntactic penalty on people wishing to declare an instance of Num. If some nice change can be made to avoid this, e.g. by allowing people to declare instances of several classes in the same instance declaration and automatically inferring the names of the relevant base classes, then this would be a very good thing. Ganesh _______________________________________________ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell