如果我要统计一个字符串中字符出现的次数,我可以在类似下面这样的命令式语言中使用数组轻松地实现:
char values[256]; char c;
while (c = readChar()) {
values[c] += 1;
}
我可以看到如何使用类似于
Data.Vector.Mutable
的 Haskell 包来实现 int-indexed 可变数组的快速实现。但是如果没有额外的包和/或扩展,我该如何轻松地使用纯 Haskell 实现?换句话说,如何实现具有索引和可变性的快速 O(1) 集合?
Data.Vector.Mutable
正是为此而生! - Tom Ellisvector
来解决。我所问的是如何实现一个具有类似于向量属性的数据结构。请阅读问题的更新标题。 - Jakub Arnoldprimitive_ (writeArray# arr# i# x)
这样的东西。我不知道如何解析它们,但我敢打赌它们来自于GHC特定的内部函数。 - Sassa NF