Pharo 在其标准库中是否具有不可变的数据结构,例如映射和集合?

Mar*_*nic 4 pharo

我可能刚刚错过了它们,但我似乎无法在 Pharo 中找到任何提及不可变数据结构的内容。来自函数式语言,我发现不可变 map 和 set 在各种场合都很有用。尽管 Pharo 对使用变异有特别的偏见,但如果还没有人开始实施它们,我会感到惊讶。

Luk*_*gli 5

http://source.lukas-renggli.ch/container/上的代码实现了现代容器和迭代器库;具有可变和不可变列表;不可修改的视图;以及排序、有序和无序集合和映射数据结构。它还支持使用常见的过滤、映射、展平、分区等操作对所有容器进行高效的惰性迭代。

我并不是说该库具有完美的设计或比标准集合库性能更高,但它无疑是进一步探索的良好起点。