The 2026 winners have been announced. The 2027 round will open soon

Previous Winners

2026 Winner (APL category): Kyle Croarkin

“I recently graduated from the University of Illinois Urbana-Champaign with a degree in Computer Science and Linguistics, and am now a Graduate Research Assistant at Mayo Clinic while I decide on my plans for graduate school. My current research encompasses data science, machine learning, and natural language processing, and I also have a passion for graphics programming and game development that was inspired by wanting to modify Minecraft and other games at a young age.

“I discovered APL in August 2025. I was quickly fascinated by it and wondered how it could be used to make wider applications. My initial investigations included looking at Brian Ellingsgaard’s Dyalog ’24 presentation on raylib-apl (a simple cross-platform library for graphics, sound, interactivity, and more) as well as seeing how concisely he had implemented Tetris using APL. I decided that a voxel game like Minecraft, a game where the world is composed of blocks that you can break or destroy and move around in, would be the perfect fit for APL’s notation in a low level graphics library.

Kyle Croarkin
Kyle Croarkin

“After a few months of studying APL, I felt confident to start this project. Although there was a lot of work, experimentation and studying the documentation to get what I wanted, I was amazed that things that would have taken me dozens of lines in C++ or Rust could be concisely done in a few lines of APL. Things like collision detection, frustum culling (performance optimisation in 3D graphics), and converting blocks to geometrical representation could be done significantly more concisely whilst maintaining good performance. More surprisingly was how well I was able to reason and work on my APL code, constantly iterating it and modifying it to improve it. It was amusing that something that started out as an experiment quickly made me appreciate and even prefer the language!

“This project has been a lot of fun and I intend to continue to develop it alongside potentially attempting to create a commercial game in APL if the time permits.”

Kyle will present his winning work at Dyalog ’26

Links: A Voxel Game on GitHub

Watch Kyle present his project at DYNA26 below:

Video thumbnail
Click to load video from YouTube. This will enable YouTube tracking. YouTube Privacy Information

2026 Winner (Non-APL category): Conor Hoekstra

“I am currently a research scientist at NVIDIA, as well as being a YouTuber and podcaster. I have four podcasts including ArrayCast which is a podcast about array languages (APL, J, BQN and others) and my YouTube channel often covers content on array languages as well. My biography / linktree with links to all of my podcasts, videos and other content can be found here: https://conorshakory.com.

“I discovered and fell in love with APL in December of 2019. Before then, I had heard of APL a number of times. The first was in 2010, when I was studying Actuarial Science at Simon Fraser University and it was mentioned in an actuarial course called ACMA 320. If you want more details on the 2010 to 2019 period when APL came up several more times, I talk about it for approximately 7 minutes at the 8:50 minute mark of my Twin Algorithms talk that I gave back in 2022. In 2019 I finally started exploring the language properly using tryapl.org, and instantly fell in love.

Conor Hoekstra
Conor Hoekstra

ArrayBox.dev has been a website I have been thinking about since I discovered the array languages. There are many online REPLs for array languages, and all of them have their faults. What I wanted was a one-stop-shop where I could switch between APL, BQN, J, TinyAPL, Kap, and Uiua. I wanted inline documentation, keyboard mappings, primitive search, syntax highlighting, code formatting, inline train trees, and more, all in the same place. This is what ArrayBox.dev is. You can get a feel for this site by watching this introduction video and it is completely open source (MIT License), so if there is a feature that you want to add, you can contribute at https://github.com/codereport/array-box.”

Watch Conor’s introduction video below:

Video thumbnail
Click to load video from YouTube. This will enable YouTube tracking. YouTube Privacy Information

2025 Winner: Borna Ahmadzadeh

“I’m a computer science student in Toronto, Canada working towards my bachelor’s degree at York University. Although my experience primarily lies in machine and deep learning, I’m also very curious about theoretical computer science and language design, leading me to explore different programming paradigms, including array programming – more specifically, APL – just over a year ago. APL held a double interest for me: It was very different from the object-oriented and functional languages I was used to, and it demanded a completely new perspective on programming (data-parallel operations, no branches, and so on). At the same time, it struck me as a more elegant tool for conveying concepts and ideas that scientific computing frameworks in languages like Python could only awkwardly express. I was particularly keen on this point because machine learning tasks regularly deal with complex multi-dimensional arrays, and APL seemed like an appealing alternative to the currently Python-dominated landscape.

“My first experiment in this area was trap, an implementation of transformers (e.g., GPT) in APL. I was surprised by how concise the code was compared to the Python reference, even though the latter wasn’t written from scratch, instead utilising the deep learning package PyTorch. To take trap a step further, I started to implement more traditional machine learning models such as linear regression and support vector machines in APL, forming the basis of APLearn. Transformers are conceptually straightforward since they are, in terms of concrete implementation, little more than a sequence of matrix multiplications. On the other hand, machine learning algorithms are often trickier, relying on more than just basic linear algebra. For example, random forests depend heavily on trees, and Lasso regression is solved using an iterative, non-parallel approach called co-ordinate descent. This created difficulties at times because it wasn’t always obvious how to translate, say, ifs or for loops into APL, and I had to actively force myself to avoid falling back on a more standard, imperative mindset. During this time, I maintained a correspondence with Aaron Hsu, the developer behind the Co-dfns APL compiler, concerning performance improvements, and he encouraged me to submit my projects to APL Forge.

“In the future, I plan to study array programming in greater depth, with a focus on machine/deep learning. I believe APL is a viable tool for quickly and succinctly solving many computational problems, especially in research, and I hope I’ll have the opportunity to take advantage of the many benefits it offers in my work.”

Borna will present his winning work on APLearn at Dyalog ’26.

Links: APLearn on GitHub

2024 Winner: Holden Hoover

“I am a high school student in Nova Scotia, Canada, and am about to start my final year. My journey with APL began at the age of 12, thanks to an introduction by family friend Robert Bernecky. Since then, APL has been an important tool in my learning journey. It has allowed me to quickly develop concise solutions for many of my classes, especially in Physics and Mathematics. Looking ahead, I plan to pursue a university degree in computer science, where I intend to continue using APL for research and application development. I am particularly interested in exploring the intersection of APL with machine learning. 

“I decided to enter the APL Forge when I heard Stine Kromberg talking about it on the Array Cast podcast. I was encouraged by friends to enter, mostly to gain valuable experience and have a motivation, rather than the competition itself. 

“I submitted an application called Radar Ingest System. This system is designed to ingest, process, and aggregate raw ADS-B data from multiple antennas. ADS-B (Automatic Dependent Surveillance-Broadcast) is a radio protocol that allows aircraft to communicate essential data – such as callsign, position, speed, and altitude – with ground stations. My application processes this raw data to create a database of airborne aircraft. This database could then be utilized by other applications, including REST APIs and GUIs, to visualize and display the data effectively. I had been wanting to do this project for a very long time, having tried to do it in JavaScript with no luck; when I was trying to do it that way, I spent more time trying to figure out libraries and minor bugs than programming the actual program! While doing this project, I learned a lot about how to use Conga and Jarvis, but I also improved my fluency in the language.” 

Links

Prizes:

  • Assistance from us to help you take your application into production if relevant
  • £2,500 GBP
  • An expenses-paid opportunity to present your winning work at our next user meeting
  • A Dyalog commercial licence, valid for one year

If you have any questions, please contact us on forge@dyalog.com or send us a message

Share this page:

X
Facebook
LinkedIn
Reddit
WhatsApp
Email