Errata for The Little Typer

Return to the main page.

Which Printing?

Many known errata have been corrected in subsequent print runs of The Little Typer. To identify your printing, look on the copyright page just after the front cover. At the bottom, there is a row of numbers in a sans-serif font. The last number is the number of the printing.

For example, the numbers 10 9 8 7 6 5 4 3 indicate that your copy of the book is from the third printing, while the numbers 10 9 8 7 6 5 4 3 2 indicate that your copy is from the second printing.

Errata in the Fourth Printing

246 In frame 8, ind-Nat should be ind-Vec. Michael Vanier and Xiaoyang Zhuang
252 In frame 26, the reference to page 189 should be a reference to page 210. Xiaoyang Zhuang
253 In frame 29, the definitions of step-list→vec and list→vec should exactly match the definitions in frame 10:81. Xiaoyang Zhuang
275 Frame 54 refers to the Commandment of cdr, which is not described in the book. Additionally, the reference would be more appropriate to the Law of cons. This Law does not have a big box, but its contents are described on page 220 in frame 10:6. Xiaoyang Zhuang
328 In frame 54, front's second argument should be named for consistency with the definition in frame 74. Xiaoyang Zhuang
334 In first line of the same-as chart in frame 77, which is line 3 of the whole evaluation, the variable E should instead be Atom. Xiaoyang Zhuang
345 In frame 16, the unused argument zero?n-1 should be named zero?j-1 for consistency. Xiaoyang Zhuang
352 In frame 44, ind-Either's target is missing. It should be eq-or-not. Xiaoyang Zhuang
360 The phrase "as an Atom" should read "as a Nat." Xiaoyang Zhuang

Corrected in the Fourth Printing

156 In frame 49, lastℓ-1 is described as a function that finds the last entry in a list with ℓ-1 entries, but it actually finds the last entry in a list with (add1 ℓ-1) entries. Similarly, it accepts the tail of a list with (add1 (add1 ℓ-1)) entries. Xiaoyang Zhuang
161 In frame 68, step-drop-last is described as transforming a drop-last that works for (Vec E ℓ-1) into one that works for (Vec E (add1 ℓ-1)). The lengths should be (add1 ℓ-1) and (add1 (add1 ℓ-1)), respectively. Xiaoyang Zhuang
182 Frame 50 indicates that (add1 x) is neutral. It is in fact a value, because it has a constructor at the top. David Binder
209 Frame 42 refers to frame 24, but it should refer to frame 25. Walter Schulze

Corrected in the Third Printing

21 In frame 83, there is an extraneous comma just prior to the frame note marker in the left side.
38 In The Initial Second Commandment of λ, the name f should have been written in a serif italic font, like so: f.
77 Frame 30 implies that rec-Nat is strictly more powerful than iter-Nat, while it is in fact possible to derive rec-Nat from iter-Nat using a pair for the base. Felix Herrmann and Carl Howells
93 In frame 1, the reference to frame 2:70 should have been a reference to frame 2:80. Vassili Bykov
124 In frame 61, the definition of concat is incorrect. It reverses its second argument. Alex Brown and Stuart A. Kurtz
125 In frame 65, the definition of kartoffelmad is incorrect. condiments should occur before, rather than after, toppings. Robert Sison
157 In the right hand side of frame 53, (mot-last ℓ-1) should read (mot-last E ℓ-1). Graydon Hoare
157 In the right hand side of frame 55, step 5 in the same-as chart is missing a step number, and step 6 is numbered 5. Graydon Hoare
161 In frame 68, the reference to frame 66 should instead be a reference to frame 67.
271 Frame 28 refers to frame 26, but it should refer to frame 9. Rutvik Patel
351, 354 In frames 40 and 51, the dim variable nat=?n-1 in the step should be named nat=?j-1. Mike Harris
358 The type of base is incorrect. It should instead be
(Π ((k Nat))
  (mot zero (add1 k)
    (zero-smallest k)))
David Moews
358 The type of length should be
(Π ((E U))
  ( (List E)
Rutvik Patel