Clojure Gazette 1.18

Persistent Data Structures.

Clojure Gazette

Issue 1.18 - August 10, 2012


Clojure and Persistent Data Structures?

Anyone who has programmed in Clojure for a time has come to rely onthe speedy, persistent data structures available in Clojure. But howdo they work?

In this issue, I explore the background of persistent data structuresfrom computer science and how Clojure has innovated in the field andincorporated them.

Have fun!

Eric Normand

PS I love to hear from readers. Just reply to this email to get in touch!
PPS Tell your friends about the Clojure Gazette.

theoretical introduction

Purely Functional Data Structures

Chris Okasaki's PhD thesis on persistent data structures is the bestintroduction I've read.


What's new in purely functional data structures since Okasaki?

The answer to this Stack Exchange question lists many, many papersdescribing a wide variety of persistent data structures.

video explanation

Extreme Cleverness: Functional Data Structures in Scala

With great wit, Daniel Spiewak implements many persistent datastructures, some of which were invented by Rich Hickey for Clojure.One interesting stat is that for very large amounts of data (greaterthan 2 billion items), Clojure vecs perform better thanjava.util.ArrayList for random access.

sponsored link

Consider purchasing a sponsored link in the Clojure Gazette.

The Clojure Gazette reaches the inbox of over one thousand highly educated Clojure enthusiasts each week. The Gazette is also syndicated on Planet Clojure, where it reaches a larger and wider audience. Advertising on the Gazette is the best way to reach the best Clojure programmers.

If you have a high quality product,service, or event , a link to your site and a promotional description may be a good fit. Get in touchand we'll talk.

the inimitable guy steele

Organizing Functional Code for Parallel Execution; or, foldl and foldr Considered Slightly Harmful

Guy Steele shows a better abstraction for persistent lists in today's multicore world.

value and identity

Persistent Data Structures and Managed References

Rich Hickey relates Persistent Data Structures to the idea of value,identity, and concurrency.

from Java


The Clojure data structures, which are implemented in Java, pulled outand disentangled with other Clojure code. This library can easily beimported in any Java application. It could be a great way to use thebest of Clojure from within Java.


Clojure Bookshelf

"Books that influenced Clojure, in no particular order". --- Rich Hickey