News about Dyalog

Aug 19, 2019

2019 APL Problem Solving Competition Winners


The 11th annual APL Problem Solving Competition winners were announced on 5 August 2019. Read about their experiences with APL and find out a bit more about them in their own words below.

Phase I of this year's contest had the familiar format of 10 one-line solutions, with 10 participation prizes being awarded to the submissions judged to make the best use of APL. Phase II was split into three categories, with a single grand prize winner, second place, third place and non-student winner. The questions for each phase can be downloaded so that you can see what they tackled.




The Grand Prize Winner is Jamin Wu of Monash University in Australia. He receives a cash prize of $2,500 USD and an invitation to present his winning work at Dyalog '19 in Elsinore. Denmark.

"I'm an undergraduate student at Monash University studying medicine. I started learning programming during the university breaks. It was interesting and I liked learning about medicine and computer science. I have worked on small vacation projects in Python, Matlab, R, Fortran, JavaScript and Elm. I always make lots of mistakes at the start, but it is interesting to learn about each languages' ways of approaching problems and I feel like I gradually improve. APL seemed like another interesting way to approach problems. I started reading about it earlier in the year and thought the competition would be a fun opportunity to learn APL. I found the way I approached problems was influenced by the flexibility of the language, and I hope this will improve how I think about problems in the future."




The second place winner is Rasmus Précenth who attends Uppsala University in Sweden. He receives a cash prize of $1,250 USD.

"I've been vaguely aware of APL for quite some time now, but never considered learning it before my friend Alve (last year's winner) showed me what you can do with it. It seemed okay and it was certainly something I had never encountered before, but would it actually be possible to solve a real-world problem with it? Numerical problems I figured would be easy, but other than that I didn't know. Participating in the competition helped me find the answer to the question. The answer was, as you might expect, a clear "yes". Not only that, it took less time than expected to start thinking in APL. I will definitely be using APL in the future and if I forget, I'm sure that Alve will be there to remind me every now and then."




The third place winner is Douglas Patz who attends the Agile Learning Center in New York, U.S.A. He receives a cash prize of $750 USD.

"I am 14 years old and I live in Brooklyn, New York. I love board games mathematics and building with LEGO. I also enjoy thinking about game design. I have made a multiplayer arcade game with a few friends at my school before, and have made countless board game prototypes. I discovered APL when I was 10 years old, my father taught me how to use it. When I was 11 years old I entered the Dyalog APL competition and won second place! I entered again the next year, and won a prize phase one but did not make the top 3 overall. This year I entered again in an attempt to redeem myself and won third place! I like APL because it feels much more mathematical and logical then other languages I have tried. Also for me the syntax is easier to remember because I don’t have to worry about capitalisation or spaces. I am so glad to have gotten to enter this competition, and I intend to enter for many years to come."


The Winning Professional Entrant is Torsten Grust, who receives an invitation to attend Dyalog '19 in Elsinore. Denmark.

 "I am a professor of Computer Science at the University of Tübingen (near Stuttgart, south-west Germany), and have led the Database Systems research group since 2008. Before that, I was a professor at the Technical University of Munich (TUM) and Technical University of Clausthal. Our research focuses on the analysis, compilation, optimization, and efficient evaluation of all sorts of database query languages, ranging from SQL (of course) over LINQ (of C# fame) to XQuery and XPath. This work has led me deep into the jungle of declarative programming languages (SQL is a functional programming language, in a sense). My five PhD students and I have become experts in identifying and hijacking ideas in the programming language domain and adapting/reformulating/generalising/specialising them for use in the query language and processing domain. I consider myself a member of both the PL and DB communities (and am indeed a member of ACM SIGPLAN and ACM SIGMOD). You can find the homepage of my research group at, my own homepage is at

"I've found interest in APL as it truly lives and breathes the "everything is an array" idea. The array is in focus, just like the table (or bag) of rows is in focus in languages like SQL. APL goes further in this direction and I am convinced that SQL would benefit had it taken a similar consistent and strict approach. You can find a number of APL-style idioms among SQL developer lore. I have found that my dabbling with APL has already had an influence on my style of organising and writing queries. I am big fan of REPLs (as in SQL, Haskell, Scheme) and do enjoy Dyalog's interactive style of growing complex APL expressions from smaller pieces I have prepared earlier. (This also makes for an excellent teaching environment, in my experience.) I have intensified this digging into APL for about only 18 months now…I am a bloody novice when it comes to APL. I prefer dfns over tradfns, and for a few months now I have regularly dropped by the APL Orchard chat on StackExchange and do greatly enjoy the atmosphere and great folks hanging out there. I have learned a lot. Beats every book, if you ask me."


Thank You and Congratulations

This is the 11th consecutive year that Dyalog Ltd – together with sponsors Fiserv and SimCorp – has run the International APL Problem Solving Competition. We would like to thank the sponsors for making it possible to continue to run this annual programming challenge.

Congratulations to all the winners.