Цель работы
Приобрести навыки программирования на языке Haskell. Получить представление об определении операторов, рекурсивных типах и синтаксических деревьях
Основные положения
1. Определение операторов
Бинарные операторы, такие как +, - и т. п. в языке Haskell являются такими же функциями, как и все остальные, за тем исключением, что для их вызова можно использовать инфиксную нотацию. Если взять бинарный оператор в скобки, то для его вызова можно использовать префиксную нотацию и обращаться с ним, как с обычной функцией.
Так, следующие пары записей эквивалентны:
2 + 2
(+) 2 2
x < y
(<) x y
x /= y
(/=) x y
Наоборот, любую функцию, принимающую два аргумента, можно использовать в инфиксном стиле. Для этого ее имя нужно окружить обратными кавычками (символ ‘). Например, если определить функцию:
func x y = (x + y) / (x - y)
то ее можно вызывать в следующих видах:
func 5 2
5 ‘func‘ 2
Если в имени функции встречаются только специальные символы, то она автоматически считается инфиксным оператором. При определении ее имя нужно заключать в скобки. Например, определим оператор «приближенно равно», проверяющий, что числа отличаются не более, чем на 0.001:
Гарантия на работу | 1 год |
Средний балл | 4.96 |
Стоимость | Назначаете сами |
Эксперт | Выбираете сами |
Уникальность работы | от 70% |