20 Days of Clojure: Day 6
06-Mar-2008 Filed in: Software
Development | 20 Days of
Clojure
So far, I've been working on the "clojure is a
dialect of Lisp" part of the description of clojure.
One of the things Lisps allow is purely functional
programming, but to enforce it you need immutable
datatypes. One of the things that bothered me as a C
programmer, is that I could never understand how it
worked for anything more complicated than a string.
Then I saw persistent data-structures. Their
existence in clojure is what made me think that
purely functional programming could work in real
programs.
The clojure page on data structures, but more importantly check out clojure TV on collections.
If you're interested in how these data structures are implemented, you want to read Okasaki. I would start here with his description of a persistent random access list, which I think is one of the more accessible.
Tomorrow, I'm going to try to expand on this by describing how vectors are implemented in clojure.
The clojure page on data structures, but more importantly check out clojure TV on collections.
If you're interested in how these data structures are implemented, you want to read Okasaki. I would start here with his description of a persistent random access list, which I think is one of the more accessible.
Tomorrow, I'm going to try to expand on this by describing how vectors are implemented in clojure.
