The latest version of the book is P5.0, released over 7 years 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.
- Reported in: P5.0 (03-Apr-19)
PDF page: 1
Paper page: 1
The code examples in the Kindle book are illegibly formated wrapped around in bad ways. I had to return the Kindle book, sorry.--Matt Briggs
- Reported in: P1.0 (15-Jan-17)
Paper page: 18
The book states, "As always, you can find the answers in the back of the book."
This is not in fact the case. --George Schneiderman
- Reported in: P5.0 (26-Nov-12)
PDF page: 23%
- Reported in: P5.0 (05-May-18)
Paper page: 24
- Reported in: P5.0 (09-Dec-12)
PDF page: 25
- Reported in: P1.0 (30-Oct-12)
PDF page: 32
- Reported in: P5.0 (13-Jan-13)
PDF page: 35
- Reported in: P3.0 (31-Oct-12)
PDF page: 43
- Reported in: P5.0 (04-Jun-12)
PDF page: 43
Paper page: 45
- Reported in: P5.0 (28-Oct-12)
PDF page: 44
In the Tree code example, visit_all method, it should say @children.each instead of children.each
- Reported in: P5.0 (07-Nov-19)
PDF page: 44
Paper page: 44
"You've briefly seen modules in the code on page 42." should be "You've briefly seen modules in the code on page 41."
- Reported in: P5.0 (13-Jul-13)
PDF page: 69
- Reported in: P5.0 (28-Oct-13)
Paper page: 72
- Reported in: P2.0 (18-Nov-16)
Paper page: 76
- Reported in: P5.0 (10-Jun-15)
PDF page: 77
Paper page: 79
- Reported in: P5.0 (12-Apr-18)
Paper page: 83
- Reported in: P2.0 (14-Dec-13)
Paper page: 83
- Reported in: P5.0 (04-Nov-13)
Paper page: 83
- Reported in: P5.0 (07-Jul-16)
PDF page: 84
- Reported in: P5.0 (08-Jan-14)
PDF page: 97
Stupid error I know, but it's "Gromit" not "Grommit" - only one 'm' :)--Keith Marshall
- Reported in: P3.0 (18-Jul-15)
Paper page: 104
- Reported in: P3.0 (04-Mar-12)
Paper page: 105
On fourth bullet (line 16) Tail2-2 must read Tail2-B, Tail2 must read Tail2-A--Norbert Müller
- Reported in: P4.0 (13-Jun-13)
Paper page: 124
for loop example run as forLoop.scala, but called for_loop.scala on bottom of previous page
- Reported in: P2.0 (04-Mar-12)
Paper page: 131
The book translates some Scala to Ruby as:
args.each {|arg| println(arg)}
println isn't a Ruby function so it should be 'puts'--Nigel Lowry
- Reported in: P5.0 (29-Apr-12)
PDF page: 144
- Reported in: P5.0 (01-May-15)
PDF page: 146
- Reported in: P5.0 (29-Apr-12)
PDF page: 148
- Reported in: P5.0 (29-Apr-12)
PDF page: 148
- Reported in: P3.0 (11-Mar-12)
Paper page: 150
- Reported in: P5.0 (19-Apr-13)
Paper page: 152
- Reported in: P5.0 (26-Jun-14)
PDF page: 158
- Reported in: P5.0 (06-Sep-14)
Paper page: 159
- Reported in: P5.0 (19-Apr-12)
PDF page: 167
- Reported in: P1.0 (22-Jun-12)
Paper page: 173
- Reported in: P1.0 (22-Jun-12)
Paper page: 175
- Reported in: P1.0 (13-Aug-12)
Paper page: 215
Section: Booleans and Expressions
(= 1 1.0) returns false in Clojure 1.3. Is that a language change? (== 1 1.0) does return true.--Jerry Morrison
- Reported in: P5.0 (21-Dec-12)
PDF page: 219
- Reported in: P5.0 (15-Apr-19)
Paper page: 223
The book reports:
`user => (= 1 1.0)
true`
but my repl reports:
`user => (= 1 1.0)
false
`--Andrew Nicholson
- Reported in: P5.0 (16-Jan-15)
Paper page: 227
- Reported in: P5.0 (27-Mar-12)
PDF page: 232
- Reported in: P1.0 (13-Aug-12)
Paper page: 235
- Reported in: P3.0 (20-Mar-12)
Paper page: 238
- Reported in: P5.0 (11-Mar-19)
Paper page: 248
- Reported in: P3.0 (29-Jan-14)
PDF page: 249
- Reported in: P3.0 (30-Jan-14)
PDF page: 250
- Reported in: P5.0 (15-Aug-12)
PDF page: 251
- Reported in: P3.0 (31-Jan-14)
PDF page: 252
- Reported in: P1.0 (24-Feb-13)
Paper page: 258
- Reported in: P1.0 (24-Feb-13)
Paper page: 260
- Reported in: P5.0 (25-Jun-14)
Paper page: 261
- Reported in: P4.0 (20-Mar-12)
Paper page: 263
- Reported in: P1.0 (24-Feb-13)
Paper page: 267
- Reported in: P5.0 (15-May-13)
Paper page: 276
- Reported in: P1.0 (24-Feb-13)
Paper page: 277
"f . g x" is not shorthand for "f (g x)".
Example: "sum . map (+1)" is a valid function. "sum (map (+1))" is a type error.--Matt Fenwick
- Reported in: P5.0 (14-Oct-18)
Paper page: 278
The code snippet under "Different Computational Strategies" introduces the `instance` keyword without explanation.--Jack Jackson
- Reported in: P5.0 (08-Jun-12)
PDF page: 279
- Reported in: P5.0 (01-Jan-15)
PDF page: 279
- Reported in: P5.0 (14-Oct-18)
Paper page: 281
- Reported in: P1.0 (24-Feb-13)
Paper page: 282
- Reported in: P1.0 (24-Feb-13)
Paper page: 282
"a string is an array of characters [...] represent the array of characters, with an array [...]"
s/array/list/--Matt Fenwick
- Reported in: P1.0 (24-Feb-13)
Paper page: 282
- Reported in: P1.0 (24-Feb-13)
Paper page: 283
At the top of the page:
"Suit and Rank are type constructors"
Suit and Rank are not type constructors -- they're types.--Matt Fenwick
- Reported in: P5.0 (15-Oct-17)
PDF page: 285
- Reported in: P1.0 (24-Feb-13)
Paper page: 287
"You can also specify boilerplate implementations."
That should be 'default', not 'boilerplate'.--Matt Fenwick
- Reported in: P1.0 (25-Feb-13)
Paper page: 289
- Reported in: P1.0 (25-Feb-13)
Paper page: 289
- Reported in: P1.0 (25-Feb-13)
Paper page: 290
- Reported in: P1.0 (25-Feb-13)
Paper page: 291
- Reported in: P1.0 (25-Feb-13)
Paper page: 294
- Reported in: P1.0 (25-Feb-13)
Paper page: 296
- Reported in: P1.0 (25-Feb-13)
Paper page: 296
Haskell's type system is referred to as 'strong' on this page and again on p. 298. It should be 'static'/'statically'.--Matt Fenwick
Stuff To Be Considered in the Next Edition
- Reported in: P3.0 (23-Nov-11)
Paper page: 35
- Reported in: P3.0 (05-Sep-11)
PDF page: 42
- Reported in: P4.0 (27-Sep-11)
PDF page: 92
- Reported in: P4.0 (28-Nov-11)
PDF page: 171
- Reported in: P3.0 (17-Aug-11)
PDF page: 193
- Reported in: P4.0 (25-Nov-11)
PDF page: 239
- Reported in: P4.0 (28-Nov-11)
PDF page: 250