1)我有签名
module type UINTSIG=
sig
type t
val create: t->t
end
2)我想创建两个使用上述签名的模块
理想情况下,我希望将签名保存在1中,与使用1中签名的模块的实现和签名文件分开。 我的问题是
A)我应该把签名放在上面的1中。我应该把它放在uintsig.mli文件中吗? B)我如何在1?
中使用签名的模块的.mli / ml文件中表达答案 0 :(得分:3)
将模块类型定义放入名为uintsig.mli的文件中是合理的。
然后,您可以通过名称Uintsig.UINTSIG
从其他文件中引用模块类型。
(作为旁注,模块类型在我看来并不是很有根据。如果没有类型值,就无法创建t
类型的值t
。但它显然只是一个例子。)