Ctries in Clojure; or, Concurrent Transients - Michał Marczyk

1,668 views · Published 7 July 2015 · 47:39 · Indexed 31 October 2026

Channel: ClojureTV · 2015 · Science & Technology

Watch on YouTube

The ability of persistent data structures to participate in complex version graphs where many independent instances of a data structure are derived from a single original through the application of various update-like operations is crucial to many of the benefits that they bring to our day-to-day programming in Clojure.

Ctries, presented by Prokopec, Bronson, Bagwell and Odersky, bring this ability to the world of concurrently modifiable data structures. In addition, they are lock-free ("global progress guaranteed") and admit constant-time snapshots; and under the hood, they bear a striking resemblance to Clojure's transients.

This talk aims to examine some of the more interesting aspects of Ctries' inner workings and their relationship to the data structures built-in to Clojure, and to describe the API choices made by ctries.clj to make using them feel natural in Clojure.

More from this channel