参考顶级文件中定义的模块类型

时间:2015-06-28 01:49:48

标签: ocaml

在OCaml中,如果您的项目有一个名为code.ml的文件,您可以使用模块名称Code在其他文件中引用它。我想知道你是否定义了一个.mli文件,如果你能以类似的方式引用它定义的签名。例如,如果您有一个名为wow.mli的文件,并且您可以使用声明

的另一个文件
module Func(St : Wow) = struct ... end

有没有办法在这些方面做点什么?

1 个答案:

答案 0 :(得分:3)

这对我有用:

module Func(St: module type of Wow) = struct ... end

详细说明我的所作所为:

$ cat wow.mli
val f : int -> int
$ cat m.ml
module Func (St: module type of Wow) = struct let f x = St.f x end
$ ocamlopt -c wow.mli
$ ocamlopt -c m.ml