Вам необходимо использовать шаблоны для деструктурирования вашего IntPair
Что-то вроде этого должно работать (для функции):
plusIntPair :: IntPair -> Int
plusIntPair (IntPair a b) = a + b
В приведенном выше фрагменте первой строки объявляется, чтоplusIntPair
имеет тип IntPair -> Int
.Во второй строке написано, что функция должна деструктурировать конструктор данных IntPair
, связать первый и второй параметры с a
и b
соответственно и добавить их.
и запустить его:
plusIntPair (IntPair 1 2)
(IntPair 1 2)
создает значение типа IntPair
, plusIntPair
применяется с аргументом IntPair 1 2
.