繫結優先順序
關聯性資訊之後的數字描述了應用運算子的順序。它必須始終在 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。