sml 中的大型 Int 集
Large Int Set in sml
我在 sml 中遇到以下问题:
我想使用 IntListSet
签名创建一个集合,但我想使用 large int
而不是 int
。
有什么办法可以解决这个问题吗?
谢谢,
等待您的答复
.
您可以使用 ListSetFn
仿函数。从文档中,您会发现:
functor ListSetFn (ORD_KEY) : ORD_SET
这表示 ListSetFn
是一个仿函数,它采用满足 ORD_KEY
签名的结构,您可以在文档中找到它:
type ord_key
val compare : (ord_key * ord_key) -> order
所以基本上,你需要创建一个满足ORD_KEY
签名的结构,例如:
structure LargeIntKey : ORD_KEY =
struct
type ord_key = LargeInt.int
val compare = LargeInt.compare
end
然后你可以创建 ListSetFn
仿函数的 LargeInt
实例:
structure LargeIntSet = ListSetFn(LargeIntKey)
我在 sml 中遇到以下问题:
我想使用 IntListSet
签名创建一个集合,但我想使用 large int
而不是 int
。
有什么办法可以解决这个问题吗?
谢谢, 等待您的答复 .
您可以使用 ListSetFn
仿函数。从文档中,您会发现:
functor ListSetFn (ORD_KEY) : ORD_SET
这表示 ListSetFn
是一个仿函数,它采用满足 ORD_KEY
签名的结构,您可以在文档中找到它:
type ord_key
val compare : (ord_key * ord_key) -> order
所以基本上,你需要创建一个满足ORD_KEY
签名的结构,例如:
structure LargeIntKey : ORD_KEY =
struct
type ord_key = LargeInt.int
val compare = LargeInt.compare
end
然后你可以创建 ListSetFn
仿函数的 LargeInt
实例:
structure LargeIntSet = ListSetFn(LargeIntKey)