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.


Anmelden zum Antworten