Я хочу определить оператор (назовем его +-+
), который работает в этом:
if a,b are Char => a +-+ b = [a][b]
if a,b are Integer => a +-+ b = a+b
Я пробовал:
class Summable a where
(+-+) :: a -> a -> b
instance Summable Integer where
a +-+ b = a + b
instance Summable Char where
a +-+ b = [a] ++ [b]
но я получаю ошибки:
Couldn't match type `b' with `Integer'....
Couldn't match type `b' with `[Char]' ....
Можно ли это сделать? Как?