1. Foundations
Chapter 1. Clojure philosophy
Chapter 2. Drinking from the Clojure firehose
Chapter 3. Dipping our toes in the pool
2. Data types
Chapter 4. On scalars
Chapter 5. Composite data types
3. Functional programming
Chapter 6. Being lazy and set in your ways
Chapter 7. Functional programming
4. Large-scale design
Chapter 8. Macros
Chapter 9. Combining data and code
Chapter 10. Java.next
Chapter 11. Mutation
5. Tangential considerations
Chapter 12. Performance
Chapter 13. Clojure changes the way you think