The array-programming languages chapter operates as a sub-group of ACM's SIGPLAN: the Special Interest Group on Programming LANguages.

Upcoming APL & Functional Programming Events

APL Bay Area Users' Group officers election, June 14th, 2021

The Northern California APL ACM Chapter invites you to a Zoom meeting on June 14th, 2021, at 7:00 PM Pacific Time. Look here for more information.

APL Talk at PLDI conference, Wednesday, June 22nd, 2021

Roger Hui and Morten Kromberg are presenting their HOPL IV paper “APL Since 1978” at the Programming Language Design and Implementation (PLDI) 2021 conference on June 22nd at 9 pm EDT. PLDI 2021 is being held online and is open for registration here; the deadline for early registration is 31 May 2021.

NYCJUG Meeting - Tuesday, July 13th, 2021

The New York City J Users Group will hold its regular online monthly meeting on Tuesday, July 13th at 6:30 pm EDT. Please sign up on our meetup page to get the link to this online event and take a look at our meeting notes .

Dyalog APL Problem Solving Competition ends July 30th, 2021

The 13th annual Dyalog APL contest has cash prizes and referral awards. The contest ends on July 30th, 2021. Look here for the announcement or here for more information about the competition.

Q Coding Competition, August 24th, 2021

The 1975 British expedition that climbed Mount Everest in the fastest ascent with the most people along the most difficult approach planned its logistics using an APL program. To commemorate the 45th anniversary of this feat, there is a competition to write a similar program using the q language. There will be prize money accompanied by donations to the charity Community Action Nepal. Further information may be found here and here.

Dyalog '21, October 10-14, 2021

Next year's annual Dyalog conference will be held in Olhão, Portugal. Email Dyalog with your proposal. More information can be found here. The 2020 conference was held online and may be found here.

Lambda World, 2021

This event is planned to be held in Seattle, Washington, USA - more information here.

Various Functional Programming Events

Look here for "the ultimate", though it is Clojure-centric, list of upcoming meetings for functional programming languages.

Recent Events Relevant to APL and Other Functional Languages

NYCJUG Meeting - Tuesday, June 8th, 2021

The New York City J Users Group held its regular monthly meeting on Tuesday, June 8th, at 6:30 pm, online. Meeting materials can be found here.

APL BUG Meeting - Monday, May 10th, 2021

The APL Bay Area Users' Group, the Northern California APL ACM Chapter, hosted Mark Schora, the president of Log-On Software, to talk about Log-On Software and its recent acquisition of APL2 from IBM. More information may be found here.

APL Germany and GSE Meeting - May 3rd-4th, 2021

APL Germany and GSE held an online meeting on Monday and Tuesday, May 3rd-4th. On Monday, the only item on the agenda was the transition from “IBM APL2” to “LogOn APL2” from 4:00 p.m. to 6:00 p.m. CEST. More information about this meeting may be found here.

APL Seeds '21 – Wednesday, 31 March 2021

Dyalog hosted an event aimed at those just starting their APL journey. It provided a brief overview of APL, an introduction to the resources available to help develop your knowledge, and a demonstration of some real-world applications of this powerful language. Recordings of the presentations and materials pertinent to them can be found here.

ICCAPFP 2021, February 14-15, 2021

The International Research Conference, at ICCAPFP 2021, the 23rd International Conference on Computer-Assisted Proof and Functional Programming, aims to bring together leading academic scientists and scholarly researchers to share their experiences and research results on all aspects of computer-assisted proof and functional programming. The conference was held in London, UK.

APL BUG Meeting - Monday, January 11th, 2021

The APL Bay Area Users' Group, the Northern California APL ACM Chapter, had an informal gathering on Zoom at 7 p.m. Pacific Standard Time, Monday the 11th of January 2021. This is a chance to say "hello" to other users of APL, J, K, q, Mathematica or other languages derived from Iverson notation. No program is planned, but there will probably be an interesting conversation or two. More information may be found here.

Centenary of the Birth of Kenneth Iverson - December 17th, 2020

The array languages community celebrated the 100th anniversary of Dr. Kenneth Iverson's birth by looking forward to what the future may hold for the family of languages collectively known as ''Iverson Notation'', languages like APL, J, k, and q. The online event illuminated the unique expressiveness and importance of these dynamic languages with participants recalling stories of Ken's life and the effects of the various Iverson notations. A video of the discussion will be available at some future date. Some of the most influential writings are listed here.

APL Germany Meeting - Tuesday, November 24th, 2020

APL Germany held an online meeting on Tuesday, November 24th. The talks covered APL under Windows and in Docker containers, fractions and rational functions, some ideas from the R programming language, and other topics. Details about the meeting are on the APL Germany site. Though the titles of the talks are given in German, some of them were in English as well.

Dyalog '20, November 9-10, 2020

This virtual event provided the latest news on Dyalog's version of APL and their plans for the future. Also, the winner of the 2020 APL Problem Solving Competitionspoke about the most recent competition. Summaries of many of the presentations can be found here.

Future Technologies Conference, November 5-6, 2020

FTC 2020 - the Future Technologies Conference 2020 - was held in Vancouver, Canada on November 5-6, 2020. This conference is the foremost gathering of academic researchers, Ph.D. and graduate students, top research think tanks and industry technology developers. More information is here.

APLBUG - Monday, October 12th, 2020

The APL Bay Area Users' Group, the Northern California APL ACM chapter, met on October 12th to hear Gavin Scott talk about APL\3000 for the HP 3000 minicomputer. APL\3000 was an ambitious implementation of APL at HP Labs in Palo Alto CA at the beginning of the 1970s, that sought to match the functionality of IBM's mainframe APL SV product on HP 3000, a 16-bit minicomputer. The URL for this virtual meeting is now available here.

Thinking in APL: Array-Oriented Solutions, Part 2, September 17, 2020

On Thursday, September 17th, 2020 at 15:00 UTC, Richard Park gave a webinar on how APL helps us think in arrays and solve problems more elegantly. A recording of this and other APL webinars is available at

APLBUG, September 14, 2020

The virtual meeting here at 10 AM PDT featured Paul Jackson speaking on his experience learning J with an explanation of some tools he wrote which can be found here.

Officers were elected at this meeting.

IFL 2020: Implementation and Application of Functional Languages, September 2nd-4th, 2020

IFL 2020, the 32nd symposium on the implementation and application of functional languages, took place virtually on September 2nd through September 4th, 2020. The goal of this conference is to bring together researchers actively engaged in the implementation and application of functional and function-based programming languages. More information can be found here.

ICFP 2020, August 23rd to August 29th, 2020, Online

ICFP 2020, the 25th ACM SIGPLAN International Conference on Functional Programming, was a virtual event this year. All activities will took place online.
The main conference was from August 24-26, 2020 during two time bands. The first band being 9AM-5:30PM New York, including both technical and social activities. The second band repeated (with some variation) the technical program and social activities 12 hours later, 9AM-5:30PM Beijing, the following day.
More information can be found here.


Podcast: Loops and Learning about Array Languages

In this second episode in a series about array languages, a distinguished panel of array-programmers - one each from APL, J, and K - pays tribute to the life of APL implementer Larry Breed, finds out that we really don’t need loops to write computer programs, and provides tips on how to learn array programming languages.

Term-Rewriting in K

This project implements simple unconditional term-rewriting with examples from elementary logic using an elegant k6 implementation of limited symbolic unification.

In Memoriam - Larry Breed

Noted computer scientist, artist, inventor and APL implementer Larry Breed passed away this year on May 16th. His notable career was followed by a rich artistic life in retirement. He will be missed by many in the many communities in which he participated.

APL Problem Solving Competition 2021

The 13th annual contest, sponsored by Dyalog APL, has cash prizes and referral awards. The closing date is 30 July 2021. See the announcement and more information about the competition.

One problem solved in six languages

This video compares solutions to a simple problem coded in six different languages - C++ (4 versions), Rust, Clojure, Scala, Haskell, and APL - by a professional C++ programmer.

J version 9.02 Released

The latest stable version of the J language, 9.02, is freely downloadable. This version introduces direct definition using the digraphs ''{{'' and ''}}'' to define a verb/adverb/conjunction. Look here for more information. J is available for these platforms:
  • Windows
  • Mac OS X
  • Linux
  • iOS
  • Android
  • Raspberry Pi
  • New Paper: The Derivative Revisited

    This paper revisits much of Ken Iverson's 1979 paper on derivatives, from differential calculus, of the most general type, bringing the notation up to date. It also provides an APL model of the derivative operator.

    Essays and J Code from Keith Smillie

    The late Keith Smillie published a number of works and associated code on learning J and implementing various statistical calculations in it as well. Some of them are here.

    Fun Q book on machine learning using q now available

    The book "Fun Q: A Functional Introduction to Machine Learning in Q", by Nick Psaris, covers many topics in machine learning with q code provided. More information on the book, the q language, and the machine learning code may be found here.

    Shakti Youtube Channel Launched

    Shakti has started a Youtube channel with Meetup talks and an installation tutorial to learn more about k9.

    New version of k available from Shakti

    A new and different version of k, called "k9", is available for download from Shakti. It currently is available for MacOS and Linux.

    Dyalog Version 18.0 Now Available

    Version 18.0 of Dyalog APL is available on all supported platforms. This release includes significant performance improvements, a bridge to Microsoft's .NET core, new APL primitives, and more. Look here for more details.

    Mesh: a spreadsheet programmable with an array language

    This code editor that feels like a spreadsheet supports APL and k. There is a video introduction to Mesh using Shakti.

    Minimal introduction to k

    Here is a very brief introduction to the k language.

    APL+Win C# Script Engine Released

    This latest 19.0 version of the APL2000 product line makes available this C# interface to subscribers. See this for more details.

    Run APL in a browser and use APL in web-page development

    Paul L. Jackson's browser-based APL can be installed locally and used to design, display, and test web pages from the APL development environment.

    John Scholes, in memoriam

    We are sad to report that the inimitable John Scholes passed away recently. He is remembered fondly by the APL community, not the least because of his many engaging appearances, some of which are available online, particularly his Plea for Simplicity, his tutorial on how to deal with distractions while programming, and Social Skills for Programmers.

    Dyalog 2018 Videos

    Videos of some of the talks at Dyalog '18, held in Belfast, Northern Ireland, from October 28th through November 1st, are available here.

    New Release of Eli: Compiled APL

    "ELI", a system for programming with arrays, with most of the functionality of ISO APL but with extended data types like non-homogenous arrays, complex numbers, and temporal data, is freely available on Windows, Linux, and Mac OS. The language has a compiler as well as an interpreter and SQL statements. Visit the Eli homepage and take a look at this article in Vector for more details.

    Source of JavaScript Implementation of APL Available on Github

    The source code for the above-mentioned implementation of APL - "NGN APL" - that will run in a browser, is here. It is written in CoffeeScript, a language that "compiles" to JavaScript.

    Gnu Open-source APL Released

    GNU APL is a free interpreter for which the source code is available. It is written and is being maintained by Jürgen Sauermann under a Gnu license. It is aimed at a Linux environment but compiles under Cygwin for a Windows environment.

    Waterloo APL Archive

    The Waterloo APL Archive has been resurrected here. These links have not been tested thoroughly, so please report any problems to us.

    Graphical J Sentence Analyzer

    Announcing a graphical sentence debugger for J: wouldn't it be great if you could actually see how a sentence executes? Instead of puzzling over some expressions like this:
       z =. 100 200 300
       +/ z + i. 3 3
    609 612 615
    you can see a picture like this:

    graphical representation of a J phrase

    APL Fonts

    Many APL fonts