Hash-based, immutable collection types for PureScript.
The two main goals are good performance and API compatibility with the Ord
-based collections wherever reasonable.
The implementation of HashMap
is based on "Optimizing Hash-Array
Mapped Tries for Fast and Lean Immutable JVM Collections" (Steindorfer
and Vinju, OOPSLA 2015, https://doi.org/10.1145/2814270.2814312).
HashMaps are fast. Most common operations are 1.5x-3x faster than the
Ord
-based map. Very limited testing puts insert
and lookup
at
around 10% faster than immutable.js.
- purescript-ordered-collections: ordered collections in PureScript
- unordered-containers: efficient hashing-based container types in Haskell
- immutable.js: immutable collections for JavaScript and TypeScript
- io.lacuna.bifurcan: high-quality Java implementations of mutable and immutable data structures
- im-rs: blazing fast immutable collection datatypes for Rust
Module documentation is published on Pursuit.