Вы увидите тип обычных операторов, если окружите их скобками:
> (+);;
val it : (int -> int -> int) = <fun:it@4-5>
К сожалению, это ограничивает тип оператора одним конкретным типом - F # Interactive не печатает полиморфныйопределение (с ограничениями).Вы можете использовать обходной путь, предложенный Стивеном (и определить новую inline
функцию), чтобы увидеть это.
Причина, по которой он не работает для ::
, заключается в том, что ::
на самом деле является специальным синтаксическимконструкция (определена непосредственно в спецификации F #).