在我使用 OCaml 进行编程的实践中,我最近发现以下管道运算符对于创建函数非常有用。
let (>|) f g x = g (f x)
val ( >| ) : ('a -> 'b) -> ('b -> 'c) -> 'a -> 'c = <fun>
我用它来替换如下代码:
fun s -> int_of_string s |> Int.hash
- : string -> int = <fun>
更简单的是:
int_of_string >| Int.hash
- : string -> int = <fun>
关联性很好:
int_of_string >| float_of_int >| string_of_float
- : string -> string = <fun>
这是否会对核心语言产生有价值的改进?如果是,如何提交这一贡献?