On Tue, 30 Mar 2004, MR K P SCHUPKE wrote: > >I didn't get the point yet why the context for 'data' > >is not sufficient for the 'instance' method definition. > > Not sure who's relpy you're replying to,
This was clearly an answer to Dylan Thurston. > but I thought my response was pretty clear (I would though)... I'm not sure you got the point of my question. :-( > You could get rid of zero and have: > > class VectorSpace v where > set :: Num a => a -> v a > add :: Num a => v a -> v a -> v a > scale :: Num a => a -> v a -> v a > > Should do the trick! (zero becomes "set 0") This wouldn't change much because the compiler also complains about the other instance definitions, e.g. instance VectorSpace VList where add (VList x) (VList y) = VList (zipWith (+) x y) is rejected because the compiler don't believes that the type of x and y is in class Num. My question was why he doesn't believe that. My definition data (Num a) => VList a = VList [a] clearly states that VLists will ever get types of class Num as parameters. _______________________________________________ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe