【发布时间】:2020-03-07 10:04:32
【问题描述】:
我的代码产生了循环构建错误,我查找了该错误。此页面提供了一个类似但较小的示例,说明我的 .mli 文件中的内容:https://ocaml.org/learn/tutorials/ocamlbuild/New_kinds_of_build_errors.html
本质上,问题在于我的文件既定义了类型又定义了使用相同类型的参数和返回值的函数。然而,这正是我想要我的程序做的。我的类型不是私有的,它在 .mli 文件中明确声明:
type state = {
current_pos : int*int;
contents : int*int list;
}
val update_state : state -> state
在我看来,构建一个定义类型的模块然后与其他文件共享该类型似乎是合理的,但循环构建错误似乎总是会阻止这种情况。有没有一些“更合适”的分享方式?
【问题讨论】:
标签: interface ocaml private public