Dyalog Presentations
D01: Welcome to Dyalog '26 summary
Stine Kromberg, Managing Director (CEO)
Dyalog Ltd's Managing Director opens the user meeting.
D02: The Road Ahead summary
Morten Kromberg, Technical Director (CTO)
In accordance with tradition, Morten looks briefly back over his shoulder before turning his gaze to the future, presenting his view of the road that lies before Dyalog Ltd and users of Dyalog, and setting the scene for the technical presentations that follow.
D03: Slowly Getting Faster summary
Asher Harvey-Smith
One of the promises of array programming is fast execution of algorithms written in a high-level notation. Asher describes how performance improvements planned for the next Dyalog releases continue to deliver on this promise.
D04: Improving APL Threads summary
Peter Mikkelsen
APL threads can be a convenient way to structure concurrent applications. As the use of threading has grown, the implementation has started to show signs of strain, and issues can become apparent as the number of simultaneous threads increases. Peter presents some of the work being undertaken that aims to improve the performance and behaviour of APL thread switching, and the thread related language features such as :Hold and ⎕TGET.
D05: Dyalog and AI summary
Stefan Kruger
Large Language Models (LLMs) are having significant impacts on our industries, in both good and bad ways. It's a fast-moving field. Stefan’s presentation is a "state of the LLM nation" snapshot of how we as APLers can take advantage of the good parts of what LLMs can do, and how we can avoid some of the downsides. He demonstrates how to enable communication between LLMs and the APL session, and takes us on a tour of the current models, tools, and techniques.
D06: Inside Dyalog Labs – From Prototype to Project summary
Martina Crippa
Dyalog Labs is an open-source initiative for tools, libraries, and experimental projects written in and for Dyalog APL. It has been established in response to new ways of developing software, and provides a place where ideas can be prototyped and turned into real projects.
Martina introduces the initiative, showcases some of the projects developed so far, and discusses the role of Dyalog Labs in growing the ecosystem of modern tools for the APL community.
D07: "Cooler Than Keanu" summary
John Daintree
John is a big fan of "Dark Mode"; he thinks it is very cool and has enabled it on all his devices. Unfortunately, Dyalog (and, by extension, your applications) doesn’t have a "Dark Mode". What can we do? How cool can we make Dyalog APL? (Hint: there’s a clue in the title,,,)
D08: Web Services Overview summary
Brian Becker
As applications increasingly need to interact with other systems, data sources, and cloud-based services, web services have become a standard mechanism for communication. The Dyalog ecosystem provides a range of tools for consuming and exposing web services, enabling APL applications to participate in modern, distributed architectures and integrate seamlessly with the broader software landscape. In this presentation, Brian discusses the capabilities and common use cases of Jarvis, HttpCommand, and WebSockets.
D09: Making Web Services More Accessible summary
Holden Hoover
REST (Representational State Transfer) is the most widely used architectural style for web service APIs, allowing applications to exchange data and perform operations using standard HTTP protocols. OpenAPI is an industry-standard, machine-readable, specification for describing REST APIs, making it possible to automatically generate documentation, client libraries, testing tools, and other integration assets. Holden introduces the Dyalog OpenAPI Client Generator, which can generate APL client interfaces directly from OpenAPI specifications, greatly simplifying access to thousands of existing web services. He also introduces Stark, a framework that streamlines the development of Jarvis REST services and can automatically generate OpenAPI specifications for them, making those services easier to document, discover, and consume.
D10: Time's Up summary
Richard Smith
The I-Beam function that formats date-times as text has been merged into ⎕DT in Dyalog v21.0 and will be removed from a future Dyalog release. Richard discusses why the functions have been separate until now and the various enhancements that have been made to ⎕DT. He also explains why and when features are deprecated and removed, and demonstrates a tool to help you prepare for when this happens.
D11: Dyalog Static Analysis Tool – In Practice and the Future summary
Brandon Wilson
Dyalog's Static Analysis Tool (DSAT) now enjoys real world usage. Brandon presents an overview of DSAT in practice and discusses what its future may look like. In particular, he looks at Continuous Integration/Continuous Delivery/Distribution checks, session integration, an emerging VSCode extension, and applications to AI tooling.
D12: Ten Years Without Workspaces summary
Adám Brudzewsky
The workspace is 60 years old, and at Dyalog '18, Paul Mansour declared it dead. Adám reviews the decade since. He traces the history of APL source – from binary workspaces and ⎕ORs in component files, through transfer files and SALT's scripted namespaces, to Link, Acre, Cider, Tatin, and Git – and shows how the interpreter has taken over jobs that once needed a bootstrap workspace. He considers what the workspace is still good for, and looks ahead to modules, single-file source, and source handling built into the interpreter.
D13: The APL Forge – Introduction and Prize Ceremony summary
Stine Kromberg
What is The APL Forge? How do you compete, and who won the 2026 and 2025 rounds? Stine introduces this competition and discusses some upcoming changes for the 2027 round, culminating in the award ceremony for the winners.
D14: Behind the Curtain: The Creation of a New Operator summary
Silas Poulson
Dyalog v20.0 introduced a new operator, behind (⍛). Silas explains some of the processes involved in adding a new language element like an operator, using the behind operator and the lessons learnt during its implementation as a reference.
D15: EWC in 2026 summary
Aarush Bhat
EWC is Dyalog's cross-platform implementation of the ⎕WC GUI family. Your APL applications are constructed using the same forms as under ⎕WC; EWC renders them as a real GUI on Linux, macOS, or Microsoft Windows, either in a desktop window or a browser tab.
Aarush demonstrates how EWC works; his demonstration includes examples of applications that have already been re-platformed without changes and others that have been built using EWC from the start. He explains what's changed since Morten's Dyalog '24 presentation on EWC, and shares the plan for the future.
D16: APL Media Update 2026 summary
Rich Park
It can be difficult for professional users to make time to learn about everything happening in the world of Dyalog. The user meeting offers a great opportunity, but there's no need to wait for the next one to learn about new features, projects, and techniques. Rich provides an overview of what APLers have been saying and doing in this whirlwind tour of APL community projects and publications.
D17: Co-dfns Update (v6) summary
Aaron Hsu
Co-dfns is an APL compiler that is designed to let a programmer use APL in more places and for more applications. When compared with the standard Dyalog interpreter, it can enable better integration with other programming environments and high-performance domains (such as scientific computing, machine learning, and graphics), and improved performance in certain situations. A lot has been happening with the Co-dfns compiler since Aaron's last update at Dyalog '24; he introduces the new version 6 release and provides a roadmap of what's next on the horizon for APL compilation.
D18: One Extension and Seven New Primitives summary
Adám Brudzewsky
Many everyday APL expressions are longer than they need to be. Adám presents a draft proposal for eight small language changes, each of which shortens a common idiom: monadic ≤ and ≥ to sort ascending and descending, monadic ∧ and ∨ to promote and demote rank, monadic ⊤ and ⊥ to encode and decode binary, monadic ⊇ (a companion to monadic ⊃) to pick the last, and an extension to dyadic ⍴ allowing one axis length to be inferred. He demonstrates each in use and invites discussion.
D19: Testing the Untestable – GUIs, Fuzzers, and Dyalog APL summary
Aarush Bhat
Every Dyalog release is preceded by a lot of testing that users never see. Aarush introduces through the test suites that run continuously against the interpreter: the long-standing unit tests, ullu's primitive-by-primitive tests, coverage-instrumented builds that report exactly which lines of the interpreter's C source each suite exercises, and fuzzing, which compiles an instrumented interpreter and then spends entire weekends inventing APL expressions designed to crash it. Crashes are automatically minimised, deduplicated, and added to a growing body of tests that are replayed against every platform and edition on later builds.
He then introduces CITA, which lets our APL tools be tested against many interpreter versions, editions, and platforms on real hardware.
Aarush concludes by looking at the testing of GUIs, which have always been the part everyone struggles to automate. He demonstrates how EWC and ⎕WC are now covered by several hundred tests with pixel-tight visual regression running on every pull request. Much of this suite was written by LLM agents exploring the running application, and he concludes with his thought on this approach might change the way in which test suites are built and maintained.
D20: Plots and Tables: A Modern Approach summary
Jesús Galán López
It is usually convenient to represent data visually, for example, as a table or as some kind of technical plot, and Dyalog already offers several options for doing this. Jesús introduces a different approach that uses some of Dyalog APL’s features: user commands are organised in Tatin packages, configuration options and data are defined as namespaces, and external JavaScript libraries take care of the actual rendering. As a lighter option, a text-based alternative renderer is provided, which makes it possible to display simple plots and tables directly in your session in any environment.
D21: Closing Session summary
Stine Kromberg
Dyalog Ltd's Managing Director closes the user meeting.