源代码在哪里:"函数应用程序的优先级高于中缀运算符"[Haskell]

cdo*_*orn 2 haskell operator-precedence

我正在学习Haskell中的运算符优先级.在网络上有几个地方提到的功能应用具有较高的比运营商的优先级,但我无法找到一个明确的来源.

以下是来自Haskell的温和介绍中的一个提及:

函数应用程序的优先级高于任何中缀运算符

Haskell 98报告中有一节暗示:

普通构造函数应用程序的优先级高于中缀构造函数应用程序

确切来源在哪里?我希望它包含在Haskell 98报告中,也许我没有正确阅读它.

Tar*_*mil 6

你可以找到它在这里的EBNF:

exp^10 -> ...
        | fexp

fexp -> [fexp] aexp
Run Code Online (Sandbox Code Playgroud)

这基本上意味着功能应用程序优先级为10,高于允许给操作员的任何优先级.


Die*_*Epp 6

哈斯克尔报告本身就是一个明确的参考,让你找到了报价就足够了.

您还可以在语法中找到相同的信息.

fexp -> [fexp] aexp
exp_10 -> ... | fexp
Run Code Online (Sandbox Code Playgroud)

您可以看到函数应用程序的优先级为"10",而所有的中缀/前缀运算符都是9或更低.