如果我们查看containers
包。他们有Data.Map.Strict
,但没有等效的Data.Set.Strict
。它存在会有意义吗?
答案 0 :(得分:11)
Set
是严格的。同样,键中的Map.Lazy
和Map.Strict
都是严格的。例如,来自Data.Map.Lazy
模块:
该模块满足以下严格性:
- 关键参数评估为WHNF
原因很明显:做出任何决定(即除了总是返回EQ
之外的其他内容),compare
必须至少评估WHNF的参数(在一个总和中分隔不同的构造函数)类型,例如)