Haskell . vs $
-
Gibt es Situationen in denen ich eines der beiden Konstrukte nicht verwenden kann? Oftmals kann ich die beiden ja austauschen:
((*2) . length) [1..10] vs. (*2) $ length $ [1..10]
Da Variante 2 mit weniger Klammern auskommt, und Klammern in Haskell generell ungern gesehen sind, gehe ich davon aus, dass es Fälle gibt in denen ich den . nicht durch ein $ ersetzen kann.
MfG SideWinder
-
Die kanonische Variante ist
(*2) . length $ [1..10]
Der Vorteil ist, dass
(*2) . length
eine gültige Funktion ist.