Я пытаюсь сделать пару экземпляром Printable
, но я не могу понять правильный синтаксис. Мой печати заключается в следующем:Синтаксис Haskell, например
class Printable a where
toString :: a -> [Char]
instance Printable Bool where
toString True = "true"
toString False = "false"
instance Printable() where
toString() = "unit type"
и мой экземпляр для пар это:
instance Printable (a, b) where
toString (a,b) = "(" ++ toString a ++ ","++ toString b ++ ")"
, который при компиляции, дает мне No instance for (Printable a) arising from a use of ‘toString’
. Что я делаю неправильно?
Кстати, это ошибка типа, а не ошибка синтаксиса. –