
14 Apr
2002
14 Apr
'02
1:05 a.m.
Benny
type Poly = [Float]
addPoly::Poly->Poly->Poly addPoly x y = zipWith (+) x y
instance (Float a) => Num (Poly a) where (+) = addPoly
I got the error message "Cannot use type synonym in instance head" when I was trying to compile the codes above. Can anyone tell me why and how to solve it?
You can either substitute in the type synonym:
instance Num [Float] where (+) = addPoly
Or change Poly to newtype:
newtype Poly = Poly [Float]
addPoly::Poly->Poly->Poly addPoly (Poly x) (Poly y) = Poly (zipWith (+) x y)
HTH
Cheers
Benny
Jon Cast