我正在尝试学习functors
在标准 ML 中使用。我已经编写了以下代码,但我不断收到错误消息Error: unmatched structure specification: Element
。任何人都可以向我指出错误。我一直找不到它:
signature SET_ELEMENT =
sig
type element
val equal: element -> element -> bool
end
signature SET =
sig
type set
structure Element : SET_ELEMENT
val empty: set
val member: Element.element -> set -> bool
end
functor Set (Element:SET_ELEMENT) :> SET =
struct
type element = Element.element
type set = element list
val empty = [];
fun member x [] = false
| member x (y::ys) = Element.equal x y orelse member x ys;
end