#
Introduction to Computing

Explorations in Language, Logic, and Machines

David
Evans

## Errata

**Exercise 2.14** - `letterDigitHyphen` not defined! (corrected 2009-12-29)

**Exercise 3.8** - the example is incorrect! "For example, (xor true
true) should evaluate to false and (xor (< 3 5) (= 8 8)) should
evaluate to true." should be "... (xor (< 3 5) (= 8 8)) should
evaluate to **false**.". The output of the `xor` is false,
since both of the inputs evaluate to true. (Thanks to Awab Osman) (5
July 2018)

p. 100: `list-increment 1 2` (corrected sometime in 2010)

p. 130: (thanks to Anna Slagle) "The right output bit (r_0) is 1 when exactly one of the input bits is a 1: r_0 = (or (and (not A) B) (and A (not B))" (corrected sometime in 2010)

p. 152 `n = 38` (thanks to Kristine Dell)

p. 166 "xists" (corrected 2009-12-29)

Chapter 9 - the Charme interpreter code does not follow Python naming conventions (this is a more open issue, and there are good arguments in favor of various naming conventions, but it would be best if this is rewritten to follow Python's naming conventions)

Chapter 8 (p. 172) - the code for `merge-indexes` has 3
extra closing parentheses at the end (thanks to Ezio Da Fonseca)
(corrected in book sources, 2013-10-13)

p. 199 - Before `(ask counter 'adjust! 5)` we need to
redefine counter: `(define counter
(make-adjustable-counter))`. (Thanks to Ezio Da Fonseca,
corrected in book sources, 2013-10-22)