19 July 2010 P3.0 (Printing)

  • Third Printing

20 October 2009 P2.0 (Printing)

  • Second Printing

27 May 2009 P1.0 (Printing)

First printing

04 April 2009 B9.0

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.

27 February 2009 B8.0

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.

16 February 2009 B7.0

Content complete; last beta before production.

29 January 2009 B6.0

  • Chapter 5, Functional Programming

13 January 2009 B5.0

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.

09 December 2008 B4.0

  • Chapter 7, Macros

24 November 2008 B3.0

  • 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.

14 November 2008 B2.0

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

04 November 2008 B1.0