Mastering Dyalog APL – Errata
No book is entirely free of errors; the ones that we know about are listed below. If you find a new item of interest and would like to report it, then e-mail us.
|Intro||3||typo||Utilities and Data|
"WorkSpace" should be "workspace"
|Intro||3||suggestion||Utilities and Data|
DyalogTutor_EN should be in the index.
"justifyable" should be "justifiable".
|Intro||10||suggestion||2nd paragraph |
Alter to read "..the other symbols (...) we have discussed so far are called.."
|Intro||16||typo||First line |
Remove extraneous "that" in first line.
|Intro||29||typo||2nd bullet point, last line |
Add "is" in "there __ no need .."
|A||36||typo||1.3.1 end of 1st paragraph
Add "," in "in the same way as__ for .."
|A||46||suggestion||End of 1.3 :
Clarity in the last paragraph:
It should be pointed out that clarity is an issue as well: with
a b←1 2
one cannot say what is going to happen. a and b may be variables holding a 1 and a 2, but the expression might also create a variable b which holds 1 and 2 because a is a monadic function that does not return an argument.
a b←1 2
For that reason the () in the assignment statement are strongly recommended.
"A single number has no dimensions" .. what about ⍴,1 ?
|B||56||typo||Display of MonVec
There should be two spaces between "March" and "April", as between the other months.
Quicker than Text[;1]←0 would be Text←(⍴Text)⍴0 and similarly for Vector.
4 2 ⌷ Tests returns 40, not 78.
Suggest "but it will not be long before you understand immediately what it means."
Consider adding a reference to G-1.1.5 or I.7 which explain the difference between empty numeric and character vectors.
|B||71||typo||Penultimate bullet point
"which is equivalent to ""Save As""".
|B||71||typo||last bullet point |
remove "," after "APL".
|B||75||typo||8.4 First sentence
dws, which stands for Dyalog WorkSpace.
Explain further the uses of Monadic Index.
Extra "a" in the sentence "Applied to a an Enumerable .."
|C||96||typo||Last paragraph of Warning!
Should read "why we recommend that you do all .." (remove "to").
Second example should read "Tam×5 2 7" - not 5 2 10
Font wrong in comment "We ask for the positions of 5"; "ask" and "the positions of" too big.
The statement "The arguments ⍵ and ⍺ are read-only" is not precise. Assignment to ⍺ occurs if the dfn which contains the assignment is called monadically; it is the syntax used to define an ambivalent dfn.
This section is written with the assumption that the variable res, which was created when you ran Meanval before adding res← to the function header, has been deleted. When you first ran the function, since res did not appear in the header, it was created as a global variable. You haven't been asked to delete it so far, so it still exists. To make this section more understandable, type
before trying the code !
|D||166||typo||1/2 way down page
"all we need do is replace..". Add "to".
|D||171||content||If condition 1
The comment to the right of "Block 1" should read: "Executed if Condition 1 is satisfied"
|D||181||typo||First line of 4.6.1 and 4.6.2
"In any kind of loop" is in too-small a font.
|D||190||content||Jump if true..
works only if ⎕io is 1.
|D||203||suggestion||1/2 way down page
Should Prompt1 be ⎕←'What are the limits' ?
Another alternative is to type →
|D||216||content||At end of section
Note that with a dfn the assignment does not create a synonym, but rather creates a new independent dfn which can be edited using the function editor.
Rather than Activating a menu option, it should be selected. This may occur elsewhere in the book.
|D||236||typo||First paragraph or Spe-7
Remove "," immediately before last ;InEach.
"he may be able to restart the program" .. better to say "he may be able to resume or continue .."
|E||241||suggestion||last line of 1.1.2
"or until we explicitly clear it by using )reset".
|E||244||suggestion||the word obtuse
might be considered obtuse :-)
If Max is too big, the result would be larger than the largest number that Dyalog APL can hold.
Formatting wrong for )SI
|E||262||typo||First paragraph, last line
"sometimes names Stops" should be "sometimes named Stops".
|F||286||typo||4G⊂ ZZZ9' ⎕FMT MN
Comma unnecessary in commentary, which itself is incorrectly formatted.
|F||288||typo||3.2.8 penultimate example
Commentary incorrectly formatted.
|F||289||typo||3.3.2 first example
Commentary incorrectly formatted.
|G||302||debate||1.2.1 first paragraph last line
"dynamic function" .. dfn or what ??
|G||308||typo||2.2.1 second paragraph
"Take a look to" s/b "Take a look at".
|I||335||typo||2nd bullet point
Remove first "one" from "items one from one another"
"more workspace than we have room for." Better "more workspace than is available."
First occurrence of hogwash is spelled hoqwash(sic).
|I||369||typo||Penultimate paragraph, last line
One too many "then"s at the start of the line.
What is a fixpoint ?
1. Replace "function editor" with "editor" .. it's the same editor, no matter what's being edited.
2. Would the word "Signature" be better than "possible header structures" ?
|K||443||content||Calculating Positions in a Matrix
In the first block of text on p443 the text reads "we can employ Decode ..". That is incorrect - the text should read "we can employ Encode ..".
For the example and the text to work, GUI_List should read
 ⍝ 'Win.show'⎕WS 'Event' 'Select' 'ShowSel'
although the parentheses are superfluous.
|X||758||content||Solution to C-1
The result of the second expression of C-1 is incorrect:
12 6 27 ⌊ 11 + ⍳3
12 6 14
|X||772||content||Solution to K-11
The algorithms used for matrix division and inverse have been improved in Version 13.0 onwards. As a result of these improvements, the values of abc are closer to 2 ¯0.5 3.5 and therefore
3 5 ¯1+.×abc
returns 0 in 13.0 onwards.
|Appendix 8||783||typo||First sentence
.. are not developed ..