假设我有定义为异构的OCaml中
type value =
None
| Int of int
| Float of float
| Complex of Complex.t
| String of string
| Char of char
| Bool of bool
一个类型,我希望能够用这些值的Sets
工作。根据我的理解,我必须使用仿函数来具体化类型及其相关顺序来具体化Set
模块。
我应该怎么做,在这个例子吗?由于value
不能直接在Set.Make
仿函数中使用吗?
那么当然我需要能够给这些值的完整排序所以我应该发明的东西就像给预定为不同的类型,然后通过他们的有效价值,命令他们..是吗?
因此,例如,我可以决定如果x < y
有Int of int < Float of int
和Int x < Int y
。这是我想要实现的一种实用方法吗?
你的意思是你想要比较:int的int
aneccodeal
2010-07-09 20:50:04