Niech f x y = x * y
. Możemy zastosować tę funkcję na dwa sposoby: f 5 6
lub używając notacji infiksowej, 5 `f` 6
. Czy reguły operatora odnoszą się do tego ostatniego wyrażenia? Jakie pierwszeństwo ma ta aplikacja? Czy jest to po prostu kolejna forma aplikacji funkcji, a więc będzie miała również najwyższy priorytet?Wstrzymanie aplikacji trybu nawiaskowego Haskella
Przypuszczam, że kompilator widzi ten specjalny formularz (z powodu ``
i/lub nazwa zaczynająca się na literę (?)) I faktycznie traktuje to jako zwykłą aplikację funkcji, zamiast traktować ją jako operatora.
Składnia Haskell 98 pozwala wybrać poziom pierwszeństwa, zobacz szczegóły na stronie http://www.haskell.org/onlinereport/decls.html#fixity. –
Dzięki Atal S-Z do edycji! – demi