LmCast :: Stay tuned in

Mastering Dyalog APL

Recorded: May 24, 2026, 12:59 p.m.

Original Summarized

Mastering Dyalog APL — Mastering Dyalog APL

Toggle navigation sidebar

Toggle in-page Table of Contents

Mastering Dyalog APL

1. Introduction - Will You Play APL With Me?

2. Getting Started

3. Data and Variables

4. Some Primitive Functions

5. User-Defined Functions

6. First-Aid Kit

7. Execute & Format Control

8. Working on Data Shape

9. Special Syntax

10. Nested Arrays (Continued)

11. Operators

12. Tacit Programming

13. Mathematical Functions

14. Appendices

Powered by Jupyter Book

repository

suggest edit

.md

.pdf

Mastering Dyalog APL

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.

Attention
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 mdapl@dyalog.com.

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.

next
1. Introduction - Will You Play APL With Me?


By Bernard Legrand, reworked by Rodrigo Girão Serrão.

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

The book Mastering Dyalog APL is established as the definitive resource for learning the Dyalog APL programming language, addressing the challenge that printed materials on programming languages risk becoming outdated due to rapid technological change. The initial first edition of the book was authored by Bernard Legrand, with acknowledgments extended to several contributors, including Kim S. Andreasen, Daniel Baronet, Gitte Christensen, Peter Donnelly, Morten Kromberg, John Scholes, Adrian Smith, and Tim JA. Smith.

The current version presented is a rework undertaken by Rodrigo Girão Serrão, who received acknowledgments from the GitHub contributors and individuals who reported issues, notably Adám Brudzewsky. This revision strategy involved taking verbatim prose and examples from the first edition while updating or rewriting explanations and examples as necessary. Furthermore, new sections and chapters have been added to incorporate features existing in Dyalog APL 12.0 that were absent in the original 2009 edition. The book's content is also made available through various formats, including an online version derived from Jupyter Notebooks, a static online version, and a potential printed version. The work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.