1

我有以下文件层次结构:

foo.mlpack
Foo/
   bar.ml
   baz.ml
foo.ml

我希望能够做到以下几点:

let () =
  Foo.Bar.some_func1 ();
  Foo.Baz.some_func2 ();
  Foo.some_func3 ()

foo.ml在创建Foo模块时如何告诉 ocamlbuild 考虑?

编辑 1

感谢 daniel-bünzli 的回答,我能够做我想做的事。所以现在,我处于以下场景:

_tags

foo.mllib
foo.ml
Foo/
   bar.ml
   baz.ml

toto.mllib
toto.ml
Toto/
    ...
    bar.ml
    ...

现在的问题是它Toto.Bar似乎被Foo.Bar. 我无法访问Toto.Bar的内容。

编辑 2

好的,事实上这不是一个真正的问题。

我刚刚重命名Foo/bar.ml-> Foo/fooBar.ml

所以我有以下内容foo.ml

module Bar = FooBar

如果我理解正确的话,Jane Street 的人会在Core_kernelwithCore_list和其他一些模块中做同样的事情。

4

1 回答 1

4

不要使用mlpack.

简单地定义你的 foo.ml 如下:

module Bar = Bar
module Baz = Baz
let some_func3 () = ...

然后简单地定义.mllib一个

Foo

不要忘记<Foo> : include在您的_tags文件中。

于 2014-08-25T12:53:03.167 回答