Mastering Dyalog APL

The “Mastering Dyalog APL” book is the de facto standard for people who are looking to learn Dyalog APL from a book. In today’s world technology changes rapidly, so a printed book about a programming language is at risk of becoming outdated.


This online version is a work in progress. It is missing chapters and sections and the content here may undergo heavy revision.

The first edition of “Mastering Dyalog APL” is an excellent resource but is becoming more and more outdated as the years go by and Dyalog APL evolves. For that matter, an updated and more modern version of the book is being created out of Jupyter Notebooks (available in this GitHub repository) to provide for a more interactive learning experience for those who like to read and experiment. A static online version also exists, and soon a printed version will be made available for those of you who prefer to hold a paper book in their hands.

The first edition dates back to November of 2009 and was written by Bernard Legrand, with most grateful acknowledgements to the contributors:

  • Kim S. Andreasen

  • Daniel Baronet

  • Gitte Christensen

  • Peter Donnelly

  • Morten Kromberg

  • John Scholes

  • Adrian Smith

  • Tim JA. Smith

This version you are reading is a rework by Rodrigo Girão Serrão.

Whenever possible, the prose and examples are taken verbatim from the first edition of the book. When needed, the book’s explanations and examples are updated and rewritten. Finally, new sections/chapters are being added to cover things that didn’t exist back in November of 2009, in Dyalog APL 12.0. Here are some of the things that this new rework already features:

  • added sections about new primitives and updated the explanations of other primitives that were changed in the years that have gone by;

  • added new exercises and the solutions have been expanded upon; and

  • added substantial new material on the subject of dfns in the chapter about user-defined functions.