8

如果我们看containers包装。他们有Data.Map.Strict,但没有等价物Data.Set.Strict。它的存在有意义吗?

4

1 回答 1

11

Set是严格的。以同样的方式,两者Map.LazyMap.Strict都是严格的关键。例如来自Data.Map.Lazy模块:

该模块满足以下严格性属性:

  • 关键参数被评估为 WHNF

原因很明显:要做出任何决定(即除了总是 return 之外的其他东西EQ),compare必须至少评估一个 WHNF 的参数(以将不同的构造函数分隔为 sum 类型,例如)

于 2017-04-27T21:06:02.123 回答