Inspired by Ken Iverson’s paper “Notation as a Tool of Thought”, this podcast explores various aspects of notation, in the context of the APL programming language. Richard is the media manager and an APL instructor at Dyalog Ltd, has taught APL at multiple schools, and created an online self-study course. Adám is an APL programmer at Dyalog Ltd, launched the “APL Orchard” chat room and the “APLcart” code phrase search, and is the co-author of the “APL Cultivations” book. Both regular presenters at various APL events, and recurring panellists on the “Array Cast” podcast.
Together with out first guest, Silas Paulson, we begin by discussing terminology, but then we go on a wild ride, mentioning the history of file operations, review of various primitives, APL’s array model, comparison of ways to apply functions, glyphs, syntax, and much more.
Video (YouTube) ∙ Audio (download)
⍤ operator: Rank, AtopWe continue discussing the pros and cons of adding primitives, and go through a few more that could be useful to have.
Video (YouTube) ∙ Audio (download)
Second part of our reaction to Xuanyi Chew’s presentation at DataEngBytes 2022.
Video (YouTube) ∙ Audio (download)
First part of our reaction to Xuanyi Chew’s presentation at DataEngBytes 2022.
Video (YouTube) ∙ Audio (download)
After introducing the constraints on primitive proliferation, we begin listing what we’d want, only to end up discussing the Under/Dual operator, and its issues.
Video (YouTube) ∙ Audio (download)
After establishing our new name, we look at graphical diagrams that implement the structure of a system, and compare to the evolution of Iverson Notation into today’s traditional user-defined functions in APL. We also discuss what aspects of that could be desirable in an integrated development environment.
Video (YouTube) ∙ Audio (download)
High-level structuring of APL programs, abstraction levels, coding style, and building a tiny DSL for nicer code.
Video (YouTube) ∙ Audio (download)
Pros and cons of APL’s functional forms, and in which situations they should and shouldn’t be used.
Video (YouTube) ∙ Audio (download)
Evolution of the 2D Iverson Notation into modern APL, alternative syntaxes, and also notational awkwardnesses stemming from binding strengths; stranding, bracket axis and indexing, issues with the rank operator, etc.
Video (YouTube) ∙ Audio (download)
The indexing notation and broadcasting rules of the Yorick programming language based on a tweet by Jeremy Howard, and conclude that the two approaches achieve the same thing; one by manipulating data shape until broadcasting achieves desired result, the other by applying additional broadcasting rules on the existing shapes.
Video (YouTube) ∙ Audio (download)