Hopefully this can be a less mind-numbingly slow alternative to mastering dyalog apl. The learning materials for apl all seem to be either many decades old (and hence missing recent developments) or decidedly inferior to those available for j, so this sort of thing is nice to see.
I don’t think this is good pedagogy. Rather than spend energy talking about the way things are not, it is much better (and less confusing) to simply state how they are. ‘We use the × symbol for multiplication. Try it: 2×5 ⍝10.’
The entire introductory section seem to be filled with discussion of such edge cases. It should instead be filled with examples, problems, exercises, things to try. The edge cases can be sprinkled in as necessary (and frequently even where they do come up it’s more pedagogically sound to brush past them rather than explain them right away).
The pacing also seems somewhat off; e.g. the axis operator, which is largely a historical curiosity, is presented early on as a viable functional method of indexing along non-leading axes. Do we really need to spend cognitive energy on this at such an early stage?
I know this sounds somewhat negative, and I don’t mean it to be; I still feel very good and optimistic that somebody’s making new introductory material for apl; these are just some things I feel could be improved. (And, anyone who’s in TAO, would appreciate if you could forward these notes to xpqz; @mlochbaum?)
Hopefully this can be a less mind-numbingly slow alternative to mastering dyalog apl. The learning materials for apl all seem to be either many decades old (and hence missing recent developments) or decidedly inferior to those available for j, so this sort of thing is nice to see.
Or, perhaps, ‘is’ :)
I don’t think this is good pedagogy. Rather than spend energy talking about the way things are not, it is much better (and less confusing) to simply state how they are. ‘We use the
×
symbol for multiplication. Try it:2×5 ⍝10
.’The entire introductory section seem to be filled with discussion of such edge cases. It should instead be filled with examples, problems, exercises, things to try. The edge cases can be sprinkled in as necessary (and frequently even where they do come up it’s more pedagogically sound to brush past them rather than explain them right away).
The pacing also seems somewhat off; e.g. the axis operator, which is largely a historical curiosity, is presented early on as a viable functional method of indexing along non-leading axes. Do we really need to spend cognitive energy on this at such an early stage?
I know this sounds somewhat negative, and I don’t mean it to be; I still feel very good and optimistic that somebody’s making new introductory material for apl; these are just some things I feel could be improved. (And, anyone who’s in TAO, would appreciate if you could forward these notes to xpqz; @mlochbaum?)