Let f x y = x * y
. Possiamo applicare questa funzione in due modi: f 5 6
o, utilizzando la notazione infisso, 5 `f` 6
. Le regole dell'operatore si applicano a quest'ultima espressione? Quale precedenza avrà questa applicazione? È solo un'altra forma di applicazione di funzione, e quindi avrà anche la precedenza più alta?Haskell funzione infisso precedenza applicazione
Suppongo che il compilatore visualizzi questo modulo speciale (a causa di ``
e/o il nome che inizia con una lettera (?)), E in realtà lo tratta come applicazione di funzione ordinaria, invece di considerarlo un operatore.
La sintassi Haskell 98 consente di scegliere il livello di precedenza, vedi http://www.haskell.org/onlinereport/decls.html#fixity per i dettagli. –
Grazie a Atal S-Z per le modifiche! – demi