small medium large xlarge

The latest version of the book is P1.0, released 7 months ago. If you've bought a PDF of the book and would like to update it to this version (for free), visit your home page.

By default this page displays the errata for the latest version of the book. If you have a previous version, select it here:

If you've found a new error, please submit it.

  • Typo
  • Tech. error
  • Suggestion
  • Maybe next edition
  • Not a problem
  • Reported in: P1.0 (11-May-18)
#83088
PDF page: 22
In the "How Many Slots?" info box: "This enables the count function do its thing..." should probably be "This enables the count function to do its...more...
  • Reported in: P1.0 (20-May-18)
#83114
Paper page: 30
In the sidebar "Associative Vectors" it is stated that dissoc works on vectors. I do not think that this is correct. user=> (dissoc [0 1 2] 1) j...more...
  • Reported in: P1.0 (15-May-18)
#83095
PDF page: 51
The print-any-args function is defined as (defn print-any-args [& args] (println "My arguments are:" args)) and the console output I see for invoking ...more...
  • Reported in: P1.0 (26-Jun-18)
#83302
PDF page: 67

line 7
need to replace from "Welcomes Dolly to Blotts Books"
to "Welcomes to Blotts Books Dolly"--Mikhail

  • Reported in: P1.0 (26-Jul-18)
#83419
PDF page: 73
Wrong function name in text: "...replacing the recursive call to sum-to-n with recur" Should be: "...replacing the recursive call to sum-copies wit...more...
  • Reported in: P1.0 (15-May-18)
#83096
PDF page: 89
The redefinition of compute-area as (defn compute-area [diameter] (* PI radius (/ diameter 2.0))) gives me a compiler error: "Unable to resolve symbol...more...
  • Reported in: P1.0 (29-May-18)
#83169
PDF page: 121
Overly nit-picky, but something I noticed immediately and got distracted enough to report it. The bottom of the page contains this code: ;; And ...more...
  • Reported in: P1.0 (29-May-18)
#83171
PDF page: 153
The book states that: (def watson (->FictionalCharacter "John Watson" "Sign of the Four" "Doyle")) "... gives you back a new record instance, wh...more...
  • Reported in: P1.0 (29-May-18)
#83172
PDF page: 153
The beginning of the page defines "watson" as: (def watson (->FictionalCharacter "John Watson" "Sign of the Four" "Doyle")) Then, in the "Record...more...
  • Reported in: P1.0 (29-May-18)
#83170
PDF page: 155
The book includes the following code when discussing the instance? function: (instance? FictionalCharacter watson-1) ; True. (instance? SuperC...more...
  • Reported in: P1.0 (29-May-18)
#83173
PDF page: 157
The following straddles pages 156-7: "Each method needs to have at least one parameter, the record we’re operating on, which is conventionally call...more...
  • Reported in: P1.0 (29-May-18)
#83176
PDF page: 161
Near the bottom of the page: "Run the preceding code, and you will end up with value in test-component that implements Lifecycle." should proba...more...
  • Reported in: P1.0 (29-May-18)
#83177
PDF page: 168
In the third paragraph below the "Property-Based Testing" heading: "... along with a description of the of input data for which that property shoul...more...
  • Reported in: P1.0 (29-May-18)
#83179
PDF page: 168
Near the top of the page, the provided output of running "lein test" is stated as: Ran 1 tests containing 1 assertions. 1 failures, 0 errors. {:t...more...
  • Reported in: P1.0 (29-May-18)
#83178
PDF page: 170
At the top of the page, the book states: "For this we can use element (which will pluck a random element out of a collection) ...." However, the...more...
  • Reported in: B3.0 (22-Apr-18)
#83035
PDF page: 179
This function did not work for me: (defn n-gt-10-lt-100 [n] (s/and number? #(> n 10) #(< n 100))) When I removed the argument n and changed the n ...more...
  • Reported in: P1.0 (01-Sep-18)
#83604
Paper page: 180
Running "(s/explain n-gt-10 1)" does not produce the output given in the book ("val: 4 fails predicate: (> % 10)"). Either the output should be change...more...
  • Reported in: P1.0 (31-May-18)
#83199
PDF page: 211
The penultimate paragraph on the page begins with "The first thing to note is that all of this code, from our trivial book-store application down to t...more...
  • Reported in: P1.0 (01-Jun-18)
#83205
PDF page: 215
The "State" chapter kicks off with the premise of counting the number of visitors to a web site and giving congratulations at designated count values....more...

Stuff To Be Considered in the Next Edition

  • Reported in: B3.0 (20-Feb-18)
#82792
PDF page: 70
It might be good to mention that nested function literals will give error message that confuse a novice (or a master, at first). A long function liter...more...
russ olsen says: It's a good point, but I think it will need to wait until the next edition.
  • Reported in: B3.0 (22-Feb-18)
#82815
PDF page: 178
"Note also that while clojure.spec is well integrated with Clojure, it is delivered as a separate library. Thus if you are using Leiningen you will ...more...
russ olsen says: I think I'm going to leave this as is given that at least for a while people will be using various versions of Clojure.