これで機能する演算子を定義したい(それを呼び出す+-+
):
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]' ....
これを行うことは可能ですか?どのように?