Consider the following example:
data Dot = Dot Double Double
data Vector = Vector Double Double
First, i would like to overload +
operator for Vector
addition. If i wanted to overload equality(==
) operator, i would write it like:
instance Eq Vector where ...blahblahblah
But I can't find if there is Add
typeclass to make Vector
behave like a type with addition operation. I can't even find a complete list of Haskell typeclasses, i know only few from different tutorials. Does such a list exist?
Also, can I overload +
operator for adding Vector
to Dot
(it seems rather logical, doesn't it?).
Num
, theMonoid
typeclass may also be of interest to you. See, among other resources, LYAH # monoids – Dan Burton