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.

Intro31Utilities and Data
"WorkSpace" should be "workspace"
Intro32Utilities and Data
DyalogTutor_EN should be in the index.
Intro41Penultimate paragraph
"justifyable" should be "justifiable".
Intro1022nd paragraph
Alter to read "..the other symbols (...) we have discussed so far are called.."
Intro161First line
Remove extraneous "that" in first line.
Intro2912nd bullet point, last line
Add "is" in "there __ no need .."
A3611.3.1 end of 1st paragraph
Add "," in "in the same way as__ for .."
A364The workspace DyalogTutor_EN.dws can no longer be reached by following the link to Instead,go to – there's a link to "companion files" in the second paragraph that allows you to download a zip file containing the DyalogTutor_EN.dws and other files.
A462End 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
1 2

For that reason the () in the assignment statement are strongly recommended.
"A single number has no dimensions" .. what about ⍴,1 ?
B561Display 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.
B652penultimate paragraph
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.
B711Penultimate bullet point
"which is equivalent to ""Save As""".
B711last bullet point
remove "," after "APL".
B7518.4 First sentence
dws, which stands for Dyalog WorkSpace.
Explain further the uses of Monadic Index.
B871Penultimate paragraph
Extra "a" in the sentence "Applied to a an Enumerable .."
C961Last paragraph of Warning!
Should read "why we recommend that you do all .." (remove "to").
C1101Row-wise multiplication
Second example should read "Tam×[1]5 2 7" - not 5 2 10
C121112.1 Example
Font wrong in comment "We ask for the positions of 5"; "ask" and "the positions of" too big.
D1524Sesction 2.1
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.
D1564Section 3.2
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
)erase res
before trying the code !
D16611/2 way down page
"all we need do is replace..". Add "to".
D1714If condition 1
The comment to the right of "Block 1" should read: "Executed if Condition 1 is satisfied"
D1811First line of 4.6.1 and 4.6.2
"In any kind of loop" is in too-small a font.
D1904Jump if true..
The expression
works only if ⎕io is 1.
D20321/2 way down page
Should Prompt1[1] be ⎕←'What are the limits' ?
Another alternative is to type →
D2164At 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.
D2222Throughout page
Rather than Activating a menu option, it should be selected. This may occur elsewhere in the book.
D2361First paragraph or Spe-7
Remove "," immediately before last ;InEach.
E23914th paragraph
"he may be able to restart the program" .. better to say "he may be able to resume or continue .."
E2412last line of 1.1.2
"or until we explicitly clear it by using )reset".
E2442the word obtuse
might be considered obtuse :-)
E2492×/ ⍳Max
If Max is too big, the result would be larger than the largest number that Dyalog APL can hold.
E24911.3 )SI
Formatting wrong for )SI
E2621First paragraph, last line
"sometimes names Stops" should be "sometimes named Stops".
F28614G⊂ ZZZ9' ⎕FMT MN
Comma unnecessary in commentary, which itself is incorrectly formatted.
F28813.2.8 penultimate example
Commentary incorrectly formatted.
F28913.3.2 first example
Commentary incorrectly formatted.
G30231.2.1 first paragraph last line
"dynamic function" .. dfn or what ??
G30812.2.1 second paragraph
"Take a look to" s/b "Take a look at".
I33512nd bullet point
Remove first "one" from "items one from one another"
I3444Penultimate paragraph
"more workspace than we have room for." Better "more workspace than is available."
I3591After definitions
First occurrence of hogwash is spelled hoqwash(sic).
I3691Penultimate paragraph, last line
One too many "then"s at the start of the line.
J39012 -/ Cum
should return one fewer element than

2 -/ Cum
56 32 56 104 63 38 37

2 -/ +/ Limits ∘.< Ages
56 32 56 104 63 38 37
I41848.5 title
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" ?
K4434Calculating 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 ..".
P6294GUI_List function
For the example and the text to work, GUI_List[5] should read
[5] ⍝ ''⎕WS 'Event' 'Select' 'ShowSel'
although the parentheses are superfluous.
X7584Solution to C-1
The result of the second expression of C-1 is incorrect:
12 6 27 ⌊ 11 + ⍳3
12 6 14
X7724Solution 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 87831First sentence
.. are not developed ..