演算子

前置・中置演算子も一種の関数なので,ふつうの関数と同じように定義できる。ただし,名前を括弧で囲むのと使える文字に制限がある。

 # let (^-^) x y = x * 2 + y * 3;;
 val ( ^-^ ) : int -> int -> int = <fun>
 # 2 ^-^ 3;;
 - : int = 13
 # 5 ^-^ 9;;
 - : int = 37


演算子に使える文字は次の通り。
前置演算子の1文字目:

 ! ? ~

中置演算子の1文字目:

 = < > @ ^ | & + - * / $ %

2文字目:

 ! $ % * + - . / : < = > ? @ ^ | ~

中置演算子には上記のほかに次のキーワードが使える。

 asr land lor lsl lsr lxor mod or !=

また,前置・中置とも次のキーワードは使えない。

 #  '  (  )  ,  -> .  .. :  :: :> ;  ;; <- >]
 ?  ?? [  [< [> [| ]  _  `  {  {< |  |] }  ~