#
Introduction to Computing

Explorations in Language, Logic, and Machines

David
Evans

## Errata

- Solution to Exercise 2.12 - the fourth rule should be
`MoreDigits ::= Digit MoreDigits`. (Thanks to Ervin Varga) (22 June 2019). - Exercise 2.14 - letterDigitHyphen not defined! (corrected 2009-12-29)
- Exercise 3.8 - the example is incorrect! It says, "For example, (xor true true) should evaluate to false and (xor (< 3 5) (= 8 8)) should evaluate to true.".
Actually,
`(xor (< 3 5) (= 8 8))`should evaluate to**false**since both of the inputs are 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
- 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) - p. 233 - The definition of
`cons`should use the defined special form`ifp`, instead of`if`:(define cons (lambda (a b) (lambda (p) (ifp p a b))))

(Thanks to Ervin Varga) (24 June 2019).