"Exotic Functional Data Structures: Hitchhiker Trees" by David Greenberg
Functional data structures are awesome--they're the foundation of many functional programming languages, allowing us to express complex logic immutably and efficiently. There is one unfortunate limitation: these data structures must fit on the heap, limiting their lifetime to that of the process. Several years ago, Datomic appeared as the first functional database that addresses these limitations. However, there hasn't been much activity in the realm of scalable (gigabytes to terabytes) functional data structures. In this talk, we'll first review some of the fundamental principles of functional data structures, particularly trees. Next, we'll review what a B tree is and why it's better than other trees for storage. Then, we'll learn about a cool variant of a B tree called a fractal tree, how it can be made functional, and why it has phenomenal performance. Finally, we'll unify these concepts to understand the Hitchhiker tree, an open-source functionally persistent fractal tree. We'll also briefly look at an example API for using Hitchhiker trees that allows your application's state to be stored off-heap, in the spirit of the 2014 paper "Fast Database Restarts at Facebook".

"Systems that run forever self-heal and scale" by Joe Armstrong (2013)

"Deep dive into Unbounded Data Processing Systems" by Monal Daxini

"An Introduction to Combinator Compilers and Graph Reduction Machines" by David Graunke

Tyler Prete- A Helicopter Tour of Purely Functional Data Structures- λC 2019

Functional data structures in Java by Oleg Šelajev

The Language of the System - Rich Hickey

"Consistency without consensus in production systems" by Peter Bourgon

Expert to Expert: Rich Hickey and Brian Beckman - Inside Clojure

Turing Award Winner: Disagreeing with Google, Postgres, Future Problems | Mike Stonebraker

Category Theory, The essence of interface-based design - Erik Meijer

Extreme Cleverness: Functional Data Structures in Scala - Daniel Spiewak

"Tree-sitter - a new parsing system for programming tools" by Max Brunsfeld

"Distributed Commit Log: Application Techniques for Transaction Processing" by David McNeil

"Eve" by Chris Granger

"Transducers" by Rich Hickey

Something is jamming GPS over Europe. Here's what we found

Bret Victor - The Humane Representation of Thought

"Visualizing Persistent Data Structures" by Dann Toliver

Functional Programming in 40 Minutes • Russ Olsen • GOTO 2018

