Assume b is a list of Strings and consider,
map (map (\a -> ((head a), (length a))) . group . sort) (transpose b)
I know what each individual function above does, but I'm having trouble seeing how the result is assembled. How would I go about figuring out the order in which the functions on this line run, with which parameters?
Specifically, I seem to understand that (map (\a -> ((head a), (length a))) . group . sort) is the the first parameter to the outer map and (transpose b) is the second parameter to the outer map.
But which are the parameters for the inner map? The inner map appears to just have one parameter: (\a -> ((head a), (length a))) . group . sort). Where is the second parameter (the list to which to apply, element-wise, the function in the first parameter)?