small medium large xlarge

The latest version of the book is P1.0, released 5 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 (07-Feb-20)
PDF page: xvi

There is a closing parenthesis missing on the line:

def main(args:Array[String]:Unit = {
--Christophe Calves

  • Reported in: P1.0 (12-Mar-20)
PDF page: 6

It says that hexadecimal address consists of 16 characters, but actually it has 14 characters

  • Reported in: P1.0 (30-Jan-20)
PDF page: 22
There's this: > If you look in your build directory at target/scala-2.11, you’ll see a 4.2MB executable file called hello-minimal-out. And the n...more...
  • Reported in: P1.0 (30-Jan-20)
PDF page: 27
> We aren’t passing any arguments yet, so we don’t have any additional arguments or placeholders in the format string. > Second, the string itself...more...
  • Reported in: P1.0 (06-Mar-20)
PDF page: 114
In LibUVServer/async_tcp/main.scala listing: the meaning of these two lines is not obvious at first: var client_state_ptr = (!client).asInstanceO...more...
  • Reported in: P1.0 (06-Mar-20)
Paper page: 114
in main.scala listing client_state_ptr is set twice, both inside initialize_client_state(...) : !client = client_state_ptr.asInstanceOf[Ptr[Byte]] b...more...