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.

Feel free to open a new issue on GitHub if you would like to give feedback or to suggest corrections to any eventual mistakes/typos you encounter. Alternatively, you can send an email to

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 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, with most grateful acknowledgements to all the GitHub contributors and all the people who reported issues with this rework, and in particular to Adám Brudzewsky.

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. You can consult the changelog to review the content that this rework introduced, when compared to the original version.