前置・中置演算子も一種の関数なので,ふつうの関数と同じように定義できる。ただし,名前を括弧で囲むのと使える文字に制限がある。
# 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 !=
また,前置・中置とも次のキーワードは使えない。
# ' ( ) , -> . .. : :: :> ; ;; <- >] ? ?? [ [< [> [| ] _ ` { {< | |] } ~