In Haskell, gli operatori sono solo normali funzioni che hanno nomi composti da simboli e utilizzati per impostazione predefinita. Si possono usare come un identificatore normale avvolgendoli in parentesi:
λ> :t (+)
(+) :: Num a => a -> a -> a
$
è solo un operatore come questo si. Rappresenta applicazione funzione ed è definito come segue:
f $ x = f x
È possibile ottenere il suo tipo come (+)
:
λ> :t ($)
($) :: (a -> b) -> a -> b
operatori Haskell possono anche applicare in parte come normali funzioni, avvolgendoli in parentesi con argomenti da un lato Ad esempio, (+ 1)
corrisponde a \ x -> x + 1
e (1 +)
corrisponde a \x -> 1 + x
.
Questo vale per $
anche, in modo ($ fst client)
è uguale \ f -> f $ fst client
o semplicemente \ f -> f (fst client)
. Lo snippet di codice si verifica se qualsiasi di un elenco di funzioni restituisce true dato fst client
.
fonte
2015-04-17 18:19:24
'3. PROFITTO !!!! ' – leppie