Rich Hickey is the creator of the Clojure programming language. Most recently (over the past couple of years), Rich has been putting his iconoclastic ways to work on data programmability. The result is a new type of database, Datomic. Datomic is a database of flexible, time-based facts, supporting queries and joins, with elastic scalability, and ACID transactions. It is implemented in Clojure.

Here is C9's recording of Rich's most recent talk on a new approach to database design and general purpose programmability. This happened at GOTO Chicago Functional Programming Night, sponsored by Dave Thomas.



You can see Rich and Erik Meijer discussing Clojure and Datomic here.

Read the "Out of the tar pit" paper Rich mentions at the beginning of the talk.



Rich Hickey - The Database as a Value



Abstract:



Proponents of functional programming tout its many benefits, most of which are available only within a particular process, or afforded by a particular programming language feature. Anything outside of that is considered I/O, dangerous and difficult to reason about. But real systems almost always cross process and language boundaries, and most require, crucially, a very gnarly bit of shared state - a database. In this talk we will examine how Datomic renders the database into that most prized and easy-to-reason-about construct, a value, and makes it available to multiple processes in multiple languages, functional and not.



Along the way, we'll discuss the importance of immutability and time in representing information, the reification of process, and the mechanisms of durable persistent data structures. No knowledge of functional programming is required.