small medium large xlarge

The latest version of the book is P2.0, released 3 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 (27-Sep-19)
#85820
PDF page: 54
When you have this paragraph: Getting the Quantity and Unit Price Using the shirtSizeOfString() function that we developed on page 38, we have all ...more...
  • Reported in: P1.0 (14-Oct-19)
#85867
PDF page: 56
As far as I can tell, where you say: "The underscore in the setInnerText() call skips the first positional parameter and partially applies the priceSt...more...
  • Reported in: P1.0 (14-Oct-19)
#85868
PDF page: 67
The code example at the top of the page doesn't work in /reasonml.github.io/en/try.html. It gets an error: "This variant constructor, Some, expects 1 ...more...
J David Eisenberg says: It doesn't work in the sandbox (which doesn't allow you to use Belt at all); it works fine in an independent program and also in the newer sandbox at https://nit.sketch.sh/
  • Reported in: P1.0 (14-Oct-19)
#85869
PDF page: 71
In the list of steps on this page, the use of addPrice() is discussed. However that function is not defined until the following page. Rather, addPrice...more...
  • Reported in: P1.0 (15-Oct-19)
#85872
PDF page: 79
The text on this page mentions "algebraic data types" but that is the ONLY time the word "algebraic" occurs in the entire book, so the reader cannot b...more...
J David Eisenberg says: It should be "parametric data types"; will fix with next round of updates.
  • Reported in: P1.0 (15-Oct-19)
#85873
PDF page: 79
Type t is defined: type t('a, 'b) = | Ok(a) | Error(b); But that does not compile in reasonml.github.io/en/try.html. Do you mean type t(...more...
  • Reported in: P1.0 (16-Oct-19)
#85882
PDF page: 80

The two Js.String.splitByRe examples at the bottom of the page each have an extra right paren, causing them not to compile.--Gary Robinson

  • Reported in: P1.0 (22-Aug-19)
#85715
Paper page: 87
Hey there, This is a small suggestion I came up with when finishing the chapter on collections and trying to do the final exercise. Since you break...more...
  • Reported in: P1.0 (02-Oct-19)
#85834
PDF page: 121
When interoping with JS through the date module, the compiler will throw warnings about unnamed functions. The code currently looks like this: type...more...
J David Eisenberg says: I think this is something new that entered with BuckleScript 6.x, which is after the book was written. I'll put that on the list of things to fix on the next round of updates.