30 Apr 25
A really interesting discussion of array-oriented compilation architectures. Tries to answer the same sorts of questions I’ve been asking myself about making compilers faster – although I think I come to different conclusions right now.
20 Apr 25
Amazing dissertation by Aaron Wen-yao Hsu, demonstrating a novel memory layout for ASTs and advocating for bottom-up traversal patterns. The fact that the compiler is just 17 lines of APL (which I can’t read in the slightest) is even cooler.
05 Dec 24
WASM? build of GNU APL for the browser
27 Sep 24
A blog post walking you through how to implement brainfuck using APL
31 Aug 24
Dyalog APL in your command shell
02 Jul 24
Conway’s game of life in APL
13 Feb 24
12 Feb 24
You’ll find here a walkthru of what will eventually be all the glyphs in Dyalog APL, in an order where no glyph is used in an example until it’s been introduced. So far there’s no prose – the explanations are purely through examples for now (but we’ll add prose later).
29 Nov 23
This is for study of programming in array languages such as APL 502, J 48, BQN 55, and K 44, as well as array-oriented features of other languages and notation such as einstein notation, numpy broadcasting, mathematica’s threaded 38. We may even get into discussions of combinatory logic 63.
28 Oct 23
A whole slew of links to game dev resources specifically focused on array programming languages.
04 Aug 23
This version of John Conway’s cellular automaton takes a boolean matrix argumentrepresenting a population of “creatures” and returns a boolean matrix of thesucceeding generation. Each cell in the matrix may be occupied by a creature(1) or be empty (0).
29 Jun 23
Even though computer science deals with symbolic objects whose nature we study mathematically, it cannot be taught as an orderly development arising from a few fundamental ideas whose existence the student has already observed intuitively during his maturation, such as gravitation and electricity.
15 Jun 23
14 May 23
K is the executable notation at the heart of a high performance programming platform. It is designed for analyzing massive amounts of real-time and historical data – ideal for financial modelling.
07 May 23
The use of APL as a language for system design and prototyping is discussed. Benefits of APL over traditional design techniques are shown to include higher productivity, improved code reliability, superior maintainability and performance, and executable documentation.Hierarchical and hybrid approaches to modelling systems of various degrees of complexity are presented, with examples chosen from the author’s experience.
However, many new users of APL struggle to make sense of the wide array of integrations and tooling support provided by the Dyalog ecosystem, and often feel lost about how to architect their systems, deploy them, and integrate their APL code into new and existing products. This talk addresses these confusions by providing straightforward guidance and best practices, as well as providing a clear roadmap to navigating the wide array of APL tooling and products available.
06 May 23
There are a few things one can do to make APL look more… APL. What really characterises “classic” code is control structures and especially loops. Modern APL has control structures, too, and loops can easily be done with ¨. So those are really the features you want to avoid.
APL Thinking, Array-Oriented Programming and Notation as a Tool of Thought are terms used so often that they start to feel like buzzwords. In this high-level introduction to array programming, we explore these concepts and start to see if any practical advice can be found among the pontifications.
05 May 23
15 Apr 23
The APL programming language (a subset thereof) compiling to Common Lisp.