我可以使用该类型之前和签名中的类型来专门化签名中的类型吗?这是一个例子:
signature A = sig
type t
type s
end
我可以通过以下方式专门化A
吗?
signature B = A where type s = t list
SML / NJ和Mlton都抱怨t
未绑定。
答案 0 :(得分:2)
不,这确实无法直接完成。原因相当具有技术性,在一般情况下,将一个表现良好的语义归因于这种操作并不容易。
最接近的是引入另一种辅助类型:
signature B =
sig
type t'
include A with type t = t' with type s = t' list
end