Higher-Order Perl errata
http://hop.perl.plover.com/errata/
errors in Higher-Order Perl2014-03-23T16:40+0000140 (substantive) The 'FlatDB' library described starting on this page uses the...
http://hop.perl.plover.com/errata/byid.cgi/201
The 'FlatDB' library described starting on this page uses the
Iterator() function defined elsewhere in the 'Iterator_Utils'
package, so it needs to import that function. The line
use Iterator_Utils qw(Iterator);
should be added just after the 'package FlatDB;' declaration.
2014-03-23T12:00+0000544 (trivial) In the middle of the page, the phrase "'$extends' is '$line'" sho...
http://hop.perl.plover.com/errata/byid.cgi/200
In the middle of the page, the phrase "'$extends' is '$line'"
should be "'$extends' is 'line'".
2012-07-08T12:00+0000377 (trivial) At the bottom of the page, the phrase "one if its productions" sh...
http://hop.perl.plover.com/errata/byid.cgi/199
At the bottom of the page, the phrase "one if its productions"
should be "one of its productions".
2012-06-29T12:00+000053 (trivial) At the top of the page, the phrase "if looks for" should be "it lo...
http://hop.perl.plover.com/errata/byid.cgi/198
At the top of the page, the phrase "if looks for" should be "it
looks for".
2012-06-16T12:00+0000237 (minor) The phrase "rewrite the *while* loop as a *for* loop" should probab...
http://hop.perl.plover.com/errata/byid.cgi/197
The phrase "rewrite the *while* loop as a *for* loop" should
probably be "rewrite the *until* loop as a *for* loop".
2011-05-08T12:00+0000493 (minor) In the display midpage, with examples of hidden constraints, one of...
http://hop.perl.plover.com/errata/byid.cgi/196
In the display midpage, with examples of hidden constraints, one
of the constraints is:
top.start + wd = top.end
which does not make sense, since 'top.start' is a point and 'wd'
is a scalar. It should have said:
top.start + (wd, 0) = top.end
Similarly, the analogous constraint at the bottom of the page
should be fixed analogously, to say:
F.top.start + (F.wd, 0) = F.top.end
2011-01-24T12:00+0000232 (trivial) Near the bottom of the page, "create a new call frame and active i...
http://hop.perl.plover.com/errata/byid.cgi/195
Near the bottom of the page, "create a new call frame and active
it" should be "create a new call frame and activate it".
(1st ed. only)2010-11-06T12:00+000094 (substantive) The discussion of the find_share() function gets the two argum...
http://hop.perl.plover.com/errata/byid.cgi/194
The discussion of the find_share() function gets the two
arguments in the wrong order. Although some of these were
corrected in the second printing, one was not. Three lines
before the section break, 'find_share([1..20], 210)' should
actually be 'find_share(210, [1..20])'.
2010-01-08T12:00+0000407 (substantive) In the middle of the page, the line my ($plus_token, $term_va...
http://hop.perl.plover.com/errata/byid.cgi/193
In the middle of the page, the line
my ($plus_token, $term_value, RIGHT) = @_;
is missing the '$' on 'RIGHT'.
Also, '$plus_token' should be '$minus_token'.
2009-01-21T12:00+0000348 (substantive) In the first version of fold(), at the top of the page, the l...
http://hop.perl.plover.com/errata/byid.cgi/192
In the first version of fold(), at the top of the page, the
line:
$fold->($f->($x, $first), @_)
should read:
$fold->($f->($x, $first))->(@_)
2009-01-10T12:00+0000132-133 (substantive) In increment_odometer(), the line until ($odometer[$wheel...
http://hop.perl.plover.com/errata/byid.cgi/190
In increment_odometer(), the line
until ($odometer[$wheel] < 9 || $wheel < 0) {
should perform the tests in the other order:
until ($wheel < 0 || $odometer[$wheel] < 9) {
It is not logically correct to use '$wheel' as an array
subscript when it might be out of range. The function works as
printed, but this is something of a lucky fluke.
An analogous problem is present in increment_pattern() on page
133.
2009-01-09T12:00+0000135 (substantive) The phrase "DNA is organized as a sequence of base pairs..." ...
http://hop.perl.plover.com/errata/byid.cgi/191
The phrase "DNA is organized as a sequence of base pairs..."
should read "DNA is organized as two complementary sequences of
nucleotides...". A "base pair" is one complementary pair of
nucleotides.
2009-01-09T12:00+0000