In Haskell sind Operatoren nur normale Funktionen, deren Namen standardmäßig aus Symbolen und Infix bestehen. Sie können sie wie ein normalen Bezeichner verwenden, indem man sich in Klammern Verpackung:
λ> :t (+)
(+) :: Num a => a -> a -> a
$
nur ein Operator wie diese selbst. Es stellt Anwendungsfunktion und ist wie folgt definiert:
f $ x = f x
Sie seinen Typ wie (+)
bekommen:
λ> :t ($)
($) :: (a -> b) -> a -> b
Haskell Betreiber können auch teilweise wie normale Funktionen angewendet werden, indem man sie in Klammern Umwickeln mit Argumente auf eine Seite. Zum Beispiel ist (+ 1)
das gleiche wie \ x -> x + 1
und (1 +)
ist das gleiche wie \x -> 1 + x
.
Dies gilt für $
auch so ($ fst client)
ist die gleiche wie \ f -> f $ fst client
oder nur \ f -> f (fst client)
. Das Code-Snippet, das Sie überprüfen, ob any einer Liste von Funktionen gibt True zurückgegeben fst client
.
'3. PROFIT !!!! ' – leppie