P3.0 (Printing) - 19 July 2010

  • Third Printing

P2.0 (Printing) - 20 October 2009

  • Second Printing

P1.0 (Printing) - 27 May 2009

First printing

B9.0 - 04 April 2009

Programming Clojure Beta 9 is now available. We are almost done, and most of the changes in this Beta are small.

What’s new:

  • the notation conventions have changed to make console output and REPL results more distinct
  • a new subsection covering functions on vectors
  • a new subsection on sort functions
  • an example using map with more than one collection
  • an example using the :while option to a sequence comprehension
  • examples now use the new letfn form where appropriate
  • replicate is gone—use repeat instead
  • an index!

Stuart has also made the book more strict in discussions of laziness. Clojure sequences are lazy, but function evaluation is eager. In the Clojure community we often ignore this distinction, saying things like “iterate is lazy” when we really should say “iterate returns a lazy sequence.” The book now uses the latter formulation.

B8.0 - 27 February 2009

Beta 8 updates the text and examples to conform with the Feb 17 “fully lazy sequences” build of Clojure (http://tinyurl.com/clojure-fully-lazy). This mostly impacts the chapters on Sequences and Functional Programming.

B7.0 - 16 February 2009

Content complete; last beta before production.

B6.0 - 29 January 2009

  • Chapter 5, Functional Programming

B5.0 - 13 January 2009

1. A new chapter, Clojure in the Wild, with information on

  • unit testing with test-is
  • data access with clojure.contrib.sql
  • web development with Compojure
  • desktop GUI development with Swing

2. Rewrite of Section 1.1 “Clojure Coding Quick Start.” All dependent libraries (Clojure, clojure-contrib, etc.) are now prebuilt and included with the sample code for the book. This should make it much easier for people to get started.

3. Rewrite of Section 2.6 “Metadata” to clearly explain the difference between user metadata and compiler metadata.

B4.0 - 09 December 2008

  • Chapter 7, Macros

B3.0 - 24 November 2008

  • A new chapter, Multimethods.
  • We have reorganized how code samples are formatted throughout the book. Make sure to read the new “Notation Conventions” section of the Preface.
  • Numerous errata fixes.

B2.0 - 14 November 2008

  • Added Lancet, a code project in each chapter.
  • All code is updated to yesterday’s latest Clojure release.

B1.0 - 04 November 2008