small medium large xlarge

The latest version of the book is P1.0, released over 1 year ago. If you've bought a PDF of the book and would like to upgrade 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 (10-Mar-16)
#80073
PDF page: 111
“If you want to convey the possible nonexistence of a value, use Optional, but to vary between possibly two different values, use Either.” I believ...more...
  • Reported in: P1.0 (13-Mar-16)
#80096
PDF page: 151
Dog.scala needs to override val name in initialize otherwise it won't compile. Compilation error: "Dog.scala:1: error: class Dog needs to be abstra...more...
  • Reported in: P1.0 (13-Mar-16)
#80097
PDF page: 167
The example of filterNameStartWithDAndPragprogInFeed tries to filter urls with "pragprog" but the feeds Map only contains ("Dave Thomas" -> "pragdave....more...
  • Reported in: P1.0 (13-Mar-16)
#80098
PDF page: 171
The output of "println(s​"All feeds have com: ${feeds.forall( _ contains "​com​" )}"​) is said to be "All feeds have com: true" but the feeds List def...more...
  • Reported in: P1.0 (13-Mar-16)
#80099
PDF page: 172
The output of "println(s​"Feed url lengths: ${feeds.map( _.length ).mkString("​, ​")}"​)" is said to be "Feed url lengths: 17, 21, 23" but is "Feed ur...more...
  • Reported in: P1.0 (13-Mar-16)
#80100
PDF page: 172
The output of: val​ total = feeds.foldLeft(0) { (total, feed) => total + feed.length }​  println(s​"Total length of feed urls: $total"​)” Is s...more...