На этом шаге мы перечислим эти функции.
Перечислим несколько таких функций.
1. Функция, преобразующая список списков в список, элементы которого располагаются на один уровень ниже:
concat:: [[a]] -> [a] concat lst
> concat [[[2]]] > concat [[[1]],[[2,3,4]]] [[2]] [[1],[2,3,4]] > concat [[1,-1],[2],[3,4]] [1,-1,2,3,4]
2. Функция, возвращающая список элементов исходного списка в обратном порядке:
reverse:: [a] -> [a] reverse lst
> reverse [[[]]] > reverse [[[1]],[[2,3,4]]] [[]] [[[2,3,4]],[[1]]] > reverse [[1,-1],[2],[3,4],[-5]] [[-5],[3,4],[2],[1,-1]]
На следующем шаге мы рассмотрим элементарные конструкторы.