Ocaml 是否可以使用oasis生成推断的mli文件?

Ocaml 是否可以使用oasis生成推断的mli文件?,ocaml,ocamlbuild,Ocaml,Ocamlbuild,我意识到您可以使用ocamlbuild xxx.interferred.mli一个接一个地生成推断出的mli文件,但我更希望为我自动生成这些文件(也可以查看ocaml推断出哪些类型,并将这些mli用作我自己的基础)。当然,我想跳过我自己已经指定了mli的模块。我认为Oasis不可能做到这一点,这不是Oasis的工作,因为这高度依赖于构建系统 您应该考虑从编译的接口文件(.cmi)生成mli文件,因为cmi已经编译,因此构建独立于系统。我不知道这样的工具是否已经存在,但对于熟悉OCaml编译器内部

我意识到您可以使用ocamlbuild xxx.interferred.mli一个接一个地生成推断出的mli文件,但我更希望为我自动生成这些文件(也可以查看ocaml推断出哪些类型,并将这些mli用作我自己的基础)。当然,我想跳过我自己已经指定了mli的模块。

我认为Oasis不可能做到这一点,这不是Oasis的工作,因为这高度依赖于构建系统

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

  • Cmi_format.read_Cmi以将Cmi文件作为签名加载
  • Printtyp.signature以人类可读的形式打印加载的singnatures(=mli)

啊,所以我想这是不可能的(至少是不切实际的)。不管怎样,谢谢你
ocaml setup.ml-build[FULLPATH].推断的.mli
。这将生成项目并在_build目录中生成mli。