Basic
演算子
優先度の高いものから並べた場合
~, ^, * | 単項演算子 |
. | ドット結合 |
[] | ボックス結合 |
<:, :> | 制限演算子 |
-> | 直積 |
& | 集合積 |
++ | オーバーライド |
# | 濃度演算子 |
+,- | 集合和と集合差 |
no, some, lone, one, set | 式の限量と多重度 |
!, not | 比較の否定演算子 |
in, =, <, >, =, =<, => | 比較演算子 |
ドット結合がボックス結合より高い優先度順位を持っているため、a.b[c] は (a.b)[c] と構文解析される。
以下は論理演算子。結合優先順位が高いものから並べた場合
!, not | 否定演算子 |
&&, and | 連言 |
=>, implies, else | 含意 |
<=>, iff | 両含意 |
||, or | 選言 |
let, no some, lone, one, some | letと限量子 |
含意を除くすべての二項演算子は左結合である。含意だけは右に結合する。
p => q => r は、p => ( q => r ) として構文解釈される。a.b.cは(a.b).cと解釈される。
含意において、else説は最も近いthen節へと関連づけられる。
p => q => r else s
は、
p => ( q => r else s)
と解釈される。