我在 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 - sml 中的大型 Int 集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30687830/