Я конвертирую код F # в OCaml, и я вижу много использования этого оператора конвейера <|
, например:
let printPeg expr =
printfn "%s" <| pegToString expr
Оператор <|
, по-видимому, определен как:
# let ( <| ) a b = a b ;;
val ( <| ) : ('a -> 'b) -> 'a -> 'b = <fun>
Мне интересно, почему они не хотят определять и использовать этот оператор в F #, так ли это, чтобы они не могли вставлять такие парны?:
let printPeg expr =
Printf.printf "%s" ( pegToString expr )
Насколько я могу судить, это было бы преобразование кода F # выше в OCaml, правильно?
Кроме того, как я мог бы реализовать операторы F # <<
и >>
в Ocaml?
(оператор |>
, по-видимому, просто: let ( |> ) a b = b a ;;
)