--------------------It would be nice to be able to overload class-functions like classes:
instance (+), (-) -> Vector where (+) v1 v2 = ... (-) v1 v2 = ... --------------------instead of overloading parts of a class... (because of runtime-errors!) instance Num Vector where (+) v1 v2 = ... (-) v1 v2 = ... (*) _ _ = undefined (/) _ _ = undefined --------------------or BETTER just to split classes: class HalfBody a => (Num a =>(+), (-)) where instance HalfBody Vector where (+) v1 v2 = ... (-) v1 v2 = ... --------------------instead of defining new operators... class HalfBody a where (+§) :: a -> a -> a (-§) :: a -> a -> a instance (Num a) => HalfBody a where (+§) = (+) (-§) = (-) instance HalfBody Vector where (+§) v1 v2 = ... (-§) v1 v2 = ... -------------------------------------------------------------------------------- > > One is to allow function overloading. This is probably not desirable > > because it turns type checking into an NP-hard problem. _______________________________________________ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell