给出以下模块类型:
module type CodecTypes = {
type t;
type token;
};
module type Decode = {
include CodecTypes;
let decode: BsGenericParser.Parse.parser(token,t);
};
module type Encode = {
include CodecTypes;
let encode: t => list(token);
};
是否可以在两种模块类型之间共享抽象类型t
和token
?
我尝试过:
module type Codec = {
include Encode;
include Decode;
}
但是编译器抱怨名称冲突。