OCaml中的个人模块

时间:2017-04-21 17:55:11

标签: module ocaml caml

我正在开展一个学校项目,包括处理OCaml中的联系人列表。问题是我们必须制作模块,但我不确定是否理解它是如何工作的。我有一个agenda.ml,agenda.mli,contact.ml和contact.mli但是当我想使用agenda.ml时,它表示当我调用Contact.function时,Contact是一个未绑定的值,即使我已经使用了#use&# 34; contact.ml"

有人可以解释一下整个模块吗?

1 个答案:

答案 0 :(得分:1)

如果您使用的是顶层,则需要使用#mod_use <filename>而不是#use <filename>#use <filename>只读取当前范围内的文件名内容,而#mod_use <filename>使用该文件在当前范围内定义新模块<Filename>

但是,#mod_use#use都是简单的文字指令,无法与mlmli文件对配合使用。您将需要在某个时候阅读OCaml构建系统。对于简单的学校项目,ocamlbuild可能是一个好主意:编译整个项目可能就像ocamlbuild <main>.native一样简单。