在OCaml 3.11中,我想使用include指令“扩展”现有模块,如下所示:
没问题。但现在我想明确地公开这个模块的类型(即在一个.mli文件中)。我想要像这样的东西:
但是,在这里使用的包含语法是不正确的,因为String是指模块,而不是模块类型(编译器确实会出错)。我应该如何引用String的模块类型(而无需在sig表达式中明确写出)?
谢谢!
module MyString = struct
include String
let trim s = ...
end
没问题。但现在我想明确地公开这个模块的类型(即在一个.mli文件中)。我想要像这样的东西:
module MyString : sig
include String
val trim : string -> string
end
但是,在这里使用的包含语法是不正确的,因为String是指模块,而不是模块类型(编译器确实会出错)。我应该如何引用String的模块类型(而无需在sig表达式中明确写出)?
谢谢!