我正在阅读 HAMT,并查看了无序容器中的参考实现,但注意到它们有自己的数组实现。为什么是这样?是为了速度吗?还是他们需要的一些自定义 API?
问问题
192 次
1 回答
8
查看代码后,我可以看到一些优化。它不支持大多数 Haskell 数组所具有的“Ix”索引转换。它有专门的原语,例如insert'
插入到中间并动态调整数组大小,STArray 不支持,以及delete'
缩小数组。
所以答案是速度和自定义 API。
于 2012-04-04T10:02:43.767 回答