HackerTube.dev

CppCon 2017: Juan Pedro Bolivar Puente “Postmodern immutable data structures”

CppCon · 31.4K views · 2017-10-27 · 1:06:00

Open on YouTube ↗

If playback is restricted in your region, try opening the original video. Use Mark watched to add it to your marked videos.

Overview

Juan Pedro Bolivar Puente explains immutable and persistent data structures in C++ and how they support value semantics. He presents the Immer library, rrb-trees, and a prototype text editor that opens a huge file instantly.

On Hacker News

HN people point to it for rrb-trees, text editor data structures and bringing Clojure-style persistent structures to C++.

Recommended by 5 HN people across 7 months · HN mentions 2017–2025

Topics

Search by tags

What people said

nightowl_games · 2020-12 · Strong recommendation

Hey. Check out Juan Pedro Bolivar Puente's talks om value oriented design. He worked on Ableton which is a large application. He specifically speaks to Undo. He describes a much better pattern than the Command Pattern. He also released his source for Value Oriented Data structures Juan Pedro is a next level programmer who I think has pushed the craft forward through his work on bringing Value Oriented Design into the C++ world. Talk I [VIDEO] Talk II [LINK] Data Structures: [LINK] Application Structure: [LINK] Text Editor: [LINK] Good luck.

Read the original HN comment ↗
zelphirkalt · 2025-10 · Recommendation

> [...] which is a must for anything performance oriented. But that's also not really true. Using functional data structures it is possible to write highly performant software. Check out for example "CppCon 2017: Juan Pedro Bolivar Puente - Postmodern immutable data structures"[1], an impressive talk, in which someone shows their developed editor that can edit huge text files without lag faster than any mainstream editor today. This is enabled by functional data structures. Usage of functional data structures throughout a project also ensures, that parts can be trivially parallelized, which is not true for traditional algorithms, and therefore can easily scale with number of CPUs available. For more on that subject, you might want to watch a few Joe Armstrong talks. Rust achieves type safety by introducing more language concepts like ownership, borrowing, and lifetimes, to formalize, who has access when and how. It also creates things as immutable by default, unless you make use of `mut`. Unfortunately, Rust's philosophy is shared memory and making shared memory access safe, rather than message passing, which is at odds with FP. [1]: [VIDEO]

Read the original HN comment ↗
modernerd · 2023-06 · Recommendation

You might be interested in ewig and immer by Juan Pedro Bolivar Puente: [LINK] [LINK] See the author instantly opening a ~1GB text file with async loading, paging through, copying/pasting, and undoing/redoing in their prototype “ewig” text editor about 27 minutes into their talk here: [VIDEO] It’s backed by a “vector of vectors” data structure called a relaxed radix balanced tree: [LINK] That original paper has seen lots of attention and attempts at performance improvements, such as: [LINK] [LINK]

Read the original HN comment ↗

Sources

Video by CppCon, played through YouTube.

Data and selection notes

HN summaries and labels may contain AI errors. HN dates refer to discussions, not video publication.

HN Library: HackerTube export (2026-10-31) and open-index/hacker-news. Upstream summaries and classifications may contain AI errors.

Views, duration and playback status refresh separately from the published catalog. When an update fails, existing data remains visible.

Selection checks
  • SaaS & AI candidates: Topic keywords do not match
  • Editor-approved picks: Editorial review is required

Rule matches identify candidates. They do not guarantee video quality or financial results.

About the library and its sources