我习惯于( + )
引用普遍的整数加法运算符,但这不适用于( :: )
:
OCaml version 4.01.0 # (+);; - : int -> int -> int = <fun> # ( :: );; Error: Syntax error: operator expected. # ( := );; - : 'a ref -> 'a -> unit = <fun>
expr ::= ... | expr :: expr ... ∣ [ expr { ; expr } [;] ] ... | expr infix-op expr ...
和词汇约定说
infix-symbol ::= (= ∣ < ∣ > ∣ @ ∣ ^ ∣ | ∣ & ∣ + ∣ - ∣ * ∣ / ∣ $ ∣ %) { operator-char }
这似乎排除了::
和:=
作为中缀运算符,即使( := )
工作得很好。
::
作为运营商的身份是什么?
列表前置运算符是否有一个方便的句柄或者是(fun el ls -> el::ls)
最好的句柄?