Предположим, что b - это список строк, и рассмотрим,
map (map (\a -> ((head a), (length a))) . group . sort) (transpose b)
Я знаю, что делает каждая отдельная функция, указанная выше, но мне трудно увидеть, как собирается результат. Как мне определить порядок, в котором выполняются функции в этой строке, и с какими параметрами?
В частности, я, кажется, понимаю, что (map (\a -> ((head a), (length a))) . group . sort)
- это первый параметр внешней карты, а (transpose b)
- второй параметр внешней карты.
Но каковы параметры внутренней карты? Кажется, что внутренняя карта имеет только один параметр: (\a -> ((head a), (length a))) . group . sort)
. Где находится второй параметр (список, к которому поэлементно применяется функция первого параметра)?