Persistent Data Structures and Managed References: Clojure’s approach to Identity and State by Rich Hickey.
From the summary:
Rich Hickey’ presentation is organized around a number of programming concepts: identity, state and values. He explains how to represent composite objects as values and how to deal with change and state, as it is implemented in Clojure.
OK, it’s not recent, circa 2009, but it is quite interesting.
Some tidbits to entice you to watch the presentation:
Identity – A logical entity we associate with a series of causally related values (states) over time.
Represent objects as composite values
Persistent Data Structures preserves old values as immutable
Bit-partitioned hash tries 32-bit
Structural sharing – path copying
Persistent data structures provide efficient immutable composite values
When I saw the path copying operations that efficiently maintain immutable values I immediately thought of Steve Newcomb and Versavant. 😉