data II = I Int Int deriving (Show)
instance II Show where
show I a b = show (a+b)
showt.hs:3:2: show' is not a (visible) method of class
II'
data II = I Int Int deriving (Show)
instance II Show where
show I a b = show (a+b)
showt.hs:3:2: show' is not a (visible) method of class
II'
Имя класса должно стоять перед типом в объявлении экземпляра. Вам также необходимо удалить предложение deriving
, так как вы предоставляете свой собственный экземпляр вместо использования автоматически полученного. Вам также нужно добавить круглые скобки вокруг единственного аргумента в show
, иначе парсер будет выглядеть как 3 аргумента.
data II = I Int Int
instance Show II where
show (I a b) = show (a+b)