STRef的Ord实例

时间:2014-05-13 21:44:35

标签: haskell

是否有充分的理由STRef不是或不能成为OrdHashable类型类的实例?

我在过去看过反对包括Ord IORef的论点,我记得所说的理由是空间限制。这个原因促使我考虑Hashable

我的动机是在集合中使用STRef s,可以直接通过Ord完成,也可以使用散列的顺序间接完成。

编辑:我希望在ST monad中执行可观察的共享。 STRef允许这样做,但是当命令式算法要求在一组引用之间进行比较时,将其实现为在列表中搜索是很慢的( O(n))。

我最好使用set或hashmap。在这种情况下的排序最终与算法的稳定性没有区别,因此实际参考与算法的最终结果无关。

0 个答案:

没有答案