【问题标题】:OCaml: single-file modules signature definition without using a .mli file?OCaml:不使用 .mli 文件的单文件模块签名定义?
【发布时间】:2014-11-06 04:10:47
【问题描述】:

使用一堆生成的 OCaml 文件,在不使用 .mli 文件的情况下定义顶级模块的签名会更简单,就像嵌套模块一样。例如在 Mymodule.ml 中可以这样写:

module self/this module : sig
... (* contents of the mli file *)
end =
struct
...
end

但我找不到执行此操作的语法。有没有可能?

【问题讨论】:

    标签: ocaml


    【解决方案1】:

    您必须执行以下操作。我真的不知道为什么这会“更容易”,也许你应该提供更多细节来为你指明正确的方向。

    module X : sig ... end = 
      struct
        ...
      end
    include X
    

    【讨论】:

    • 顺便说一句,处理一半的文件更容易。 mli 文件是 caml-light 的遗物,我希望可以为包括顶级模块在内的各种模块统一定义接口。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-27
    相关资源
    最近更新 更多