2012-11-02 32 views
2

我意识到你可以使用ocamlbuild xxx.inferred.mli逐个生成推断的mli文件,但我更喜欢这样做是为我自动完成的(也查看哪些类型的ocaml推断并使用这些mli作为我自己的基础)。当然,我想跳过我已经指定了mli的模块。是否有可能生成绿洲推断的mli文件?

回答

3

我认为这是不可能的绿洲,它不是一个绿洲的工作,因为这是高度建立系统的依赖。

您应该考虑从编译后的接口文件(.cmi)制作mli文件,因为cmi已经编译完成,因此可以构建独立的系统。我不知道这样的工具是否已经存在与否,但它应该是failrly容易有人熟悉OCaml的编译器内部,具有以下功能:

  • Cmi_format.read_cmi加载CMI文件作为签名。
  • Printtyp.signature以人类可读形式(= mli)打印加载的singnatures。
+0

啊所以我想这是不可能的(至少不切实际)。不管怎么说,还是要谢谢你。 – rgrinberg

+3

..'ocaml setup.ml -build [FULLPATH] .inferred.mli'。这将构建项目并在_build目录中生成mli。 – nlucaroni

相关问题