Presentations
NOTE:The information on this page is not yet complete; more information will be added when it is available
Key to workshop identifiers:
- MA – workshop is scheduled for Monday morning (AM)
- MP – workshop is scheduled for Monday afternoon (PM)
- FA – workshop is scheduled for Friday morning (AM)
- FP – workshop is scheduled for Friday afternoon (PM)
Dyalog Presentations
Co-dfns Update (v6)
Aaron Hsu
Show Summary
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.
EWC in 2026
Aarush Bhat
Show Summary
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.
Testing the Untestable – GUIs, Fuzzers, and Dyalog APL
Aarush Bhat
Show Summary
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.
Slowly Getting Faster
Asher Harvey-Smith
Show Summary
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.
Dyalog Static Analysis Tool – In Practice and the Future
Brandon Wilson
Show Summary
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.
Web Services Overview
Brian Becker
Show Summary
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.
Making Web Services More Accessible
Holden Hoover
Show Summary
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.
“Cooler Than Keanu”
John Daintree
Show Summary
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) don’t have a “Dark Mode”. What can we do? How cool can we make Dyalog APL? (Hint: there’s a clue in the title).”
Inside Dyalog Labs – From Prototype to Project
Martina Crippa
Show Summary
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.
Improving APL Threads
Peter Mikkelsen
Show Summary
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.
Time’s Up
Richard Smith
Show Summary
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.
Dyalog and AI
Stefan Kruger
Show Summary
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.
Welcome to Dyalog ’26
Stine Kromberg
Show Summary
Dyalog Ltd's Managing Director opens the user meeting.
The APL Forge – Introduction and Prize Ceremony
Stine Kromberg
Show Summary
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.
Closing Session
Stine Kromberg
Show Summary
Dyalog Ltd's Managing Director closes the user meeting.
User Presentations
The APL Forge (Winner) – APLearn, Machine Learning in APL
Borna Ahmadzadeh (Canada), student at York University
Show Summary
In recent years, the world of artificial intelligence has been dominated by Generative Artificial Intelligence (GenAI). However, traditional models like linear regression and decision trees remain the powerhouse behind machine learning (ML) applications dealing with structured data such as tables. Borna demonstrates APLearn, an APL library implementing common ML algorithms for a variety of tasks such as supervised learning, clustering, and dimensionality reduction. He explores array programming’s relevance in the context of ML, its unique advantages and occasional drawbacks, and trains a couple of models on real data to get a taste for what ML in APL might look like in practice.
The APL Forge (Winner) – Forging Voxels with Dyalog APL
Kyle Croarkin (U.S.A.), independent
Show Summary
Kyle has developed a project utilising APL to make a Minecraft-like game called “A Voxel Game”. He presents an overview of his project, describes his experiences as he went through the process of game development in APL, and explains how APL contributed to different parts of the architecture.
The Next APL Font Family
Madeline Vergani (Italy), independent
Show Summary
Madeline talks about her work on the APL387 font, focusing on the most interesting design and technical choices and her hopes about the future of the font. She is particularly interested in community opinions on perhaps the most important part of the font family...its name!
Tacit in Practice
Max Sun (Canada), InvestCloud
Show Summary
Tacit programming is a paradigm in which the programmer, rather than writing a dfn or tradfn that explicitly references arguments, builds a single derived function and relies on operators and trains to control the flow of arguments. While purely tacit programming is best used only for recreational confusion, everyone uses derived functions. Max demonstrates common idioms that he uses – split, inspect, read, write, and select. He explains how they're useful to him, and summarises the tools and resources that help him to write tacit code.