Search code examples
haskelloperator-precedence

Where is the source for: "Function application has higher precedence than infix operators" [Haskell]


I'm learning about operator precedence in Haskell. Several places across the web mention that function application has higher precedence than operators, but I couldn't find a definitive source for that.

Here is one such mention from A Gentle Introduction To Haskell:

Function application has higher precedence than any infix operator

There is a section in the Haskell 98 Report that alludes to it:

normal constructor application has higher precedence than infix constructor application

Where is a definitive source? I would expect it to be included in the Haskell 98 Report, perhaps I'm not reading it correctly.


Solution

  • You can find it here in the EBNF:

    exp^10 -> ...
            | fexp
    
    fexp -> [fexp] aexp
    

    which basically means that function application has precedence 10, higher than any you are allowed to give to an operator.