我希望看到运算符|>
的类型,当然定义为let |> x f = f x;;
。
对于其他运算符,例如+
,我可以简单地点击(+);;
,而顶层会告诉我它是- : int -> int -> int = <fun>
。
但是|>
,它说:
错误:失败:“|&gt;必须应用于两个参数”
我的问题是,如何在OCaml的顶层检查操作符|>
。
附加:
行。现在我知道它与Core有关。如果我直接定义它就可以了。但在核心环境中,它只会破裂。
这是我的.ocamlinit
:
(* Added by OPAM. *)
let () =
try Topdirs.dir_directory (Sys.getenv "OCAML_TOPLEVEL_PATH")
with Not_found -> ()
;;
#use "topfind";;
#thread;;
#camlp4o;;
#require "core.top";;
#require "core.syntax";;
open Core.Std;;
答案 0 :(得分:3)
它对我有用。这是一个完整的命令行会话:
$ ocaml
OCaml version 4.01.0
# let (|>) x f = f x;;
val ( |> ) : 'a -> ('a -> 'b) -> 'b = <fun>
# (|>);;
- : 'a -> ('a -> 'b) -> 'b = <fun>
#
<强>更新强>
(Pascal Cuoq在下面的评论中显然有正确的答案。: - )