绑定优先级
关联性信息之后的数字描述了应用运算符的顺序。它必须始终在 0 和 9 之间。这通常被称为操作者的紧密程度。例如,考虑以下固定声明(在 base 中)
infixl 6 +
infixl 7 *
由于*具有比+更高的绑定优先级,我们将 1 * 2 + 3 视为
(1 * 2) + 3
简而言之,数字越大,运算符越接近拉其两侧的 parens。
备注
-
函数应用程序总是比运算符高,所以无论运算符
`op`及其固定性声明是什么,f x `op` g y必须被解释为(f x)op(g y)。 -
如果在固定声明中省略了绑定优先级(例如我们有
infixl *!?),则默认为9。