检查操作员|>在OCaml的顶级?

时间:2014-08-07 16:17:32

标签: ocaml

我希望看到运算符|>的类型,当然定义为let |> x f = f x;;

对于其他运算符,例如+,我可以简单地点击(+);;,而顶层会告诉我它是- : int -> int -> int = <fun>

但是|>,它说:

  

错误:失败:“|&gt;必须应用于两个参数”

我的问题是,如何在OCaml的顶层检查操作符|>

Screen Shot

附加:

行。现在我知道它与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;;

1 个答案:

答案 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在下面的评论中显然有正确的答案。: - )