2

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

4

1 回答 1

3

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

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

  • Cmi_format.read_cmi 加载 cmi 文件作为签名。
  • Printtyp.signature 以人类可读的形式 (=mli) 打印加载的签名。
于 2012-11-02T07:55:20.417 回答