2017-08-08 143 views
-1

1)我有一个签名OCAML模块类型和模块编译

module type UINTSIG= 
sig 
type t 
val create: t->t 
end 

2)我想创建一个使用上面的签名两个模块

所以我非常希望保持签名1 ,在一个单独的文件中,使用1中签名的模块的实现和签名文件。 我的问题是

A)我应该在哪里将签名放在上面1中。我应该把它放在uintsig.mli文件中吗? B)如何在.mli/ml文件中表示他们在1中使用签名的模块?

回答

3

将模块类型定义放入名为uintsig.mli的文件中是合理的。

然后,您可以通过名称Uintsig.UINTSIG从其他文件引用模块类型。 (作为一个侧面评论,模块类型在我看来并不是很有根据,没有办法创建类型为t的值,而没有类型为t的值,但这只是一个例子,显然)