Ho difficoltà a capire come funziona l'applicazione di funzione con il curring in haskell. Se ho seguente funzione:Applicazione per operatore dollaro Haskell
($) :: (a -> b) -> a -> b
comprendo che applicare parzialmente questa funzione è necessario fornire (a -> b)
funzione ($
s' primo argomento).
Perché allora è possibile applicare prima un valore (cioè argomenti inversi)?
($ 0) :: Num a => (a -> b) -> b
Cosa mi manca qui?
Grazie, questo spiega perché funziona in questo modo. Queste definizioni sono caratteristiche linguistiche o possono essere trovate da qualche parte nelle fonti? – Rumca
@Rumca Non proprio nella fonte, (x $) e ($ x) sono sezioni e una loro descrizione può essere trovata nel [rapporto haskell del 2010] (http://www.haskell.org/onlinereport/haskell2010/) nella sezione [sezioni] (http://www.haskell.org/onlinereport/haskell2010/haskellch3.html#x8-300003.5). – Davorak
La lingua è descritta nel [Rapporto Haskell 2010] (http://www.haskell.org/onlinereport/haskell2010/). –