[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Errata for Simon Peyton Jones' book



Simon Peyton Jones recently sent me the following errata list for his
book.

Nikhil
	-------------------------------------------------------
         The Implementation of Functional Programming Languages
                        Simon L Peyton Jones
                        Prentice Hall, 1987


		E R R A T A		E R R A T A 

	PLEASE TELL ME OF ANY OTHER ERRORS OR TYPOS YOU FIND IN THE BOOK!
			simonpj@uk.ac.ucl.cs

(Line references are given counting only inhabited lines.)
(** for new ones since 15 March 88)

p48, line -6 (in box).  Replace "(3*5)" with "(3+5)"

*p52, line -9.  The line should begin with an open parenthesis "(".

*p56, line -8.  Omit the word "a" at the end of the line.

*p60, middle of bottom line.  Replace "f" with "fst".

*p63, line 5.  Replace second "that" with "what".

p68, line 2 of Fig 4.4.  Replace SECOND equivalence sign with "=".

*p72, line -14.  Replace "As" with "All".

p74, line 21, 22.  Replace the sentence "Furthermore, it uses less store
to hold the temporary applications of SEL-PAIR." with "Furthermore it uses
less store, since no temporary applications of SEL-PAIR are constructed."
(This one is just a clarification.)

p79, line -13.  "NODUPS" should be "nodups".

*p88, line -4; and
*p89, line 8.  Replace "(C u1 x y xs ys)" with "(C u1 x xs y ys)".
		(The "u1" should remain subscripted as it currently appears.)


p91, line 1.  "...is represented by (CONS ..." 
	      should be "...is represented by (CON ..."

p91, last line.  "_ul" should be "_u1".

*p93, line -17 (count carefully!).  Replace "CONS" with "CON".

*p97, line 17.  Replace "...FAIL definitely occurs on the right" with
		"...FAIL definitely occurs on the right or left".

*p97, line 18.  Add "         and         FAIL || E #=# E" to the end of the
		line.  The symbol "||" means the fatbar symbol, and "#=#"
		means the 3-line equivalence symbol, both of which occur 
		earlier on the same line (I just don't have the relevant
		symbols in the system I'm using for this errata list).  
		
		The spacing is important.  There
		should be plenty of space between the "E" at the end of the
		present line 18 and the "and", and an equal space before
		the "FAIL..." which is added.  The "and" is in normal text font
		and the rest is in the usual sans-serif font.

*p97, line 19.  Replace "this rule" with "these rules".

*p116, line -17.  Replace "reply" with "rely".

*p116, line -17.  Replace "previous section" with "Section 6.2.5".

p126, last line.  Dijkstra's initials are "EW" not "EJW".

*p127, line -3.  Replace "into" with "in".

*p137, line 7.  Add another "]" at the end of the line.
		(With similar spacing to the current final "]".)

*p142, line 7.  Replace "v1*" with "v1".
		(The "v1" remains subscripted as before.)

*p145, line 18.  Replace "lists" with "list".

*p145, line -10.  Replace "as" with "of".

*p146, line 2.  Replace "I" with "id".  (In sans-serif font as on the previous
		line.)

*p163, line -2.  Replace "light" with "list".

p179, line 12.  Replace "= tclambda tvn (tc gamma' ns' e)"
		with    "= tclambda1 tvn (tc gamma' ns' e)"

p202, Fig 11.1. Missing @ sign after $ in left-hand diagram.

p205, line -6; also p265, last line of 16.1.3.  Replace "[Richards, 1985]"
	with "[Scheevel, 1986]"

p206, lines 20,21; also p280, lines 16,17.  Replace Richards reference with:
        Scheevel M, 1986. Norma: a graph reduction processor.
        Proceedings of the ACM Conference on Lisp and
        Functional Programming, Cambridge Mass, pp212-219, August.

p206, line 12. "Ixlop" should be "Klop"

p289, line 2. "Aertes" should be "Aerts".

p299, line 3 of Fig 18.3.  Replace "<let> <E>" with "<E> <E>"

p315, lines 9-11.  First three lines of code segment should read:

	PUSH 1;		Get second argument
	EVAL;		Evaluate it
	PUSH 1;		Get first argument

p317, line -20.  Change "PUSH 2" to "PUSH 0"
p317, line -14.  Change "PUSH 0" to "PUSH 2"

p338, line -5,-6.  Replace sentence with "In contrast, a stack is a
	much less flexible allocation mechanism, but the store it allocates
	is recovered immediately when it becomes unused, and this recovery is
	very cheap (decrementing the stack pointer)."
    (This is just a rewording of a bad sentence.)

p343, last line of Fig. 20.3. Replace "The cases for i,j,x,..." 
			      with    "The cases for i,f,x,...".

p405, line -12. "19!" should be "2 to the 19:th power" and
      line -10. "O(N!)" should be "O(2 to-the-Nth)".

*p432, line 23.  Omit the words "squares of the"

p435, line -7.  Line should read "queens 0 = [[]]"
-------