繫結優先順序

關聯性資訊之後的數字描述了應用運算子的順序。它必須始終在 09 之間。這通常被稱為操作者的緊密程度。例如,考慮以下固定宣告(在 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