Libraries for storing text and binary, and arbitrary data in different containers:
vector
: High-performance fixed-size vectors with a powerful fusion framework. Supports unboxed (primitive) and boxed (arbitrary) elements with respective performance.text
: Fast, memory-efficient, and unicode-correct text datatypes. Both strict and lazy variants. Orders of magnitude faster thanString
in many use cases (not all).bytestring
: Extremely fast and efficient strict and lazy binary datatypes. Interfaces very well with the C FFI supporting marshalling inO(1)
.containers
: General-use immutable graph, map, set, sequence (a list withO(1) cons
andsnoc
), tree structures for storing arbitrary (boxed) data.unordered-containers
: Efficient, immutable hash maps (tables) and sets.mutable-containers
: A library that abstracts over multiple mutable variable and container types.
Refer to Chapter 2, Choose the Correct Data Structures for use and discussion...