Angenommen b eine Liste von Strings ist und prüfen,Funktion Zusammensetzung in Haskell Beispiel
map (map (\a -> ((head a), (length a))) . group . sort) (transpose b)
Ich weiß, was jede einzelne Funktion oben tut, aber ich habe Probleme zu sehen, wie das Ergebnis zusammengebaut wird. Wie würde ich herausfinden, in welcher Reihenfolge die Funktionen in dieser Zeile laufen, mit welchen Parametern?
Insbesondere scheint ich zu verstehen, dass (map (\a -> ((head a), (length a))) . group . sort)
ist der erste Parameter für die äußere Karte und (transpose b)
ist der zweite Parameter der äußeren Karte.
Aber welche sind die Parameter für die innere Karte? Die innere Karte scheint nur einen Parameter zu haben: (\a -> ((head a), (length a))) . group . sort)
. Wo ist der zweite Parameter (die Liste, auf die elementweise die Funktion im ersten Parameter angewendet werden soll)?
Mögliches Duplikat von [Haskell - Probleme beim Verständnis eines kleinen Codes] (https://stackoverflow.com/questions/46131310/haskell-having-trouble-understanding-a-small-bit-of-code) –