为什么无序容器有自己的Array实现

时间:2012-04-04 09:16:38

标签: haskell data-structures

我正在阅读HAMT,并查看了无序容器中的参考实现,但注意到它们有自己的数组实现。为什么是这样?是速度吗?或者它是否需要一些自定义API?

1 个答案:

答案 0 :(得分:7)

looking at the code之后,我可以看到一些优化。它不支持大多数Haskell阵列具有的“Ix”索引转换。它有专门的原语,如insert'插入到中间并动态调整数组大小,STArray不支持,以及delete'缩小了数组。

所以答案是速度和自定义API。