На этом шаге мы перечислим эти функции.
Перечислим несколько таких функций.
1. Функция-предикат, определяющая пустоту заданного списка:
null:: [a] -> Bool null lst
> null [] > null [1,2,3,4] > null [[1,(-1)],[2],[3,4,5]] True False False
2. Функция-предикат, определяющий принадлежность элемента заданному одноуровневому (!) списку:
elem:: Eq a => a -> [a] -> Bool elem x lst
> elem 'a' ['a'] > elem 5 [1,3,4] > elem (-2) [-1,-2,3] True False True
3. Функция-предикат, определяющий отсутствие элемента в заданном одноуровневом (!) списке:
notElem:: Eq a => a -> [a] -> Bool notElem x lst
> notElem 'a' ['a'] > notElem 5 [1,3] False True > notElem (-2) [-1,-2,3] > notElem 'x' ['a','s'] False True
Данные функции можно также описать следующей таблицей:
Символ | Значение | Ассоциативность | Приоритет | Тип |
---|---|---|---|---|
elem | Существование элемента в списке | - | 4 | Eq a => a -> [a] -> Bool |
notElem | Отсутствие элемента в списке | - | 4 | Eq a => a -> [a] -> Bool |
На следующем шаге мы рассмотрим простейшие компараторы.