Kodomo

Пользователь

Занятие №7: ДЗ

LYAH: с чем есть чужие классы и типы, как делать свои классы, ввод-вывод


  1. опишите функцию anti, которая, если ей дали число, возвращает его же со знаком -, а если ей дали строку, приписывает к ней в начале "anti-". (Для этого потребуется описать класс Negate и два его инстанса для типов String и Int. Так как непосредственно для String объявлять инстансы хаскель запрещает, то мы вынуждены сделать тип Text, который хранит одну строку). Пример: anti (-42) == 42 && anti (Text "hello") == (Text "anti-hello").

  2. [тут потребуется прочитать про функции read и show в typeclasses 101, и про функции interact, lines, unlines в главе про ввод-вывод]; напишите программу, которая читает с экрана набор чисел по одному на строку, и выводит их увеличенными на 1