cdo*_*orn 2 haskell operator-precedence
我正在学习Haskell中的运算符优先级.在网络上有几个地方提到的功能应用具有较高的比运营商的优先级,但我无法找到一个明确的来源.
以下是来自Haskell的温和介绍中的一个提及:
函数应用程序的优先级高于任何中缀运算符
Haskell 98报告中有一节暗示:
普通构造函数应用程序的优先级高于中缀构造函数应用程序
确切来源在哪里?我希望它包含在Haskell 98报告中,也许我没有正确阅读它.
你可以找到它在这里的EBNF:
exp^10 -> ...
| fexp
fexp -> [fexp] aexp
Run Code Online (Sandbox Code Playgroud)
这基本上意味着功能应用程序优先级为10,高于允许给操作员的任何优先级.
该哈斯克尔报告本身就是一个明确的参考,让你找到了报价就足够了.
您还可以在语法中找到相同的信息.
fexp -> [fexp] aexp
exp_10 -> ... | fexp
Run Code Online (Sandbox Code Playgroud)
您可以看到函数应用程序的优先级为"10",而所有的中缀/前缀运算符都是9或更低.