【问题标题】:Large Int Set in smlsml 中的大型 Int 集
【发布时间】:2015-06-08 07:25:52
【问题描述】:

我在 sml 中遇到以下问题: 我想使用IntListSet 签名创建一个集合,但我想使用large int 而不是int。 有没有办法解决这个问题?

谢谢, 等待你的答复 .

【问题讨论】:

  • 如果答案能帮助您解决问题,请不要忘记将答案标记为已接受。

标签: sml smlnj


【解决方案1】:

您可以使用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)

【讨论】:

  • 非常感谢!真的很有帮助!
  • @JohnSig 如果这回答了你的问题(就像我的相关问题一样,你可能应该接受这个作为正确答案;))。
猜你喜欢
  • 1970-01-01
  • 2017-02-23
  • 2016-04-10
  • 2015-11-11
  • 1970-01-01
  • 2016-07-29
  • 2016-06-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多