在不同的OCaml文件之间共享类型定义

时间:2014-11-04 07:50:57

标签: ocaml

说A.ml B.ml C.ml D.ml都需要定义一些相同的类型

type a = ... 
type b = ...

由于我不想要重复的代码,我将这些类型定义放在一个文件Shared_type.ml中,我将在A.ml,B.ml中执行Open Shared_type

有没有更好,更优雅的方法来处理这个问题?此外,我觉得我的底层设计可能有问题。有哪些可能的改进?

1 个答案:

答案 0 :(得分:1)

是的,您应该将这些声明放在仅包含声明的Shared.mli文件中,而不是定义(您将在Shared.ml中给出定义)。这在§2.5 modules & seperate compilation

中有解释

PS我强烈建议您在编写OCaml中的任何严重事项之前,先阅读完全 ocaml manual

相关问题