Where are We on the Map?
summary
Erlang/OTP adds a built‑in map datatype with concrete syntax, pattern matching, map comprehensions and a maps module; keys can be any term and maps are ordered maps so printing and comparisons are stable. Implementation chooses between two representations: compact shared-key layout for many instances with the same atom keys and a tree layout for larger or varied maps. The language defines distinct update operators for adding versus updating keys, guard support (is_map,map_size) and open questions on typespecs and cross‑version external representation for R17.
AI-written summary · about
chapters (22)
- 0:00Introduction
- 0:35Map
- 2:58Goal
- 4:43Syntax
- 5:47Updating Existing Key
- 8:43Map with Any Case
- 11:10Map with Record
- 11:57Single Value Access
- 13:08Map Comprehension
- 16:30Map Mod
- 17:08Map Functions
- 18:19Internal Representation
- 20:34Tree Representation
- 21:26New External Representation
- 21:48Use Cases
- 22:54Examples
- 23:30Bigger Example
- 23:50More Examples
- 24:56Open Questions
- 25:54Summary
- 29:52Representation
- 30:19Ordered Representation
related talks
59mA Hash Map for Graph Processing Workloads & a Methodology for Transactional Data Structures
34mLightweight Relations
52mOn the Scalability of the Erlang Virtual Machine and its Term Storage
29mMapDB - taking Java collections to the next level
35mChanging the Unchangeable: The Hows and Whys of Immutable Data Structures
27mInterview with
35m"Rewrite, Optimize, Repeat: Our Journey Porting a Triemap from C to Rust"
01h 09mOak: A scalable off-heap allocated key-value map
