OCaml 中模块包含的类型约束
Type constraint for module inclusion in OCaml
我想定义以下模块层次结构,但它不起作用:
module type A = sig
type t
end
module type B = sig
type u
include A
end
module type C = sig
(* Error: Unbound type constructor u *)
include B with type t = u list
end
为什么类型 u
有错误?
=
之后的类型应该在您尝试 include/modify 的模块之外可用。
在这里,你会做:
module type C = sig
type u
include B with type u := u and type t = u list
end
我想定义以下模块层次结构,但它不起作用:
module type A = sig
type t
end
module type B = sig
type u
include A
end
module type C = sig
(* Error: Unbound type constructor u *)
include B with type t = u list
end
为什么类型 u
有错误?
=
之后的类型应该在您尝试 include/modify 的模块之外可用。
在这里,你会做:
module type C = sig
type u
include B with type u := u and type t = u list
end