Main Page

This wiki is all about APL, an array-oriented programming language. It has a powerful, concise syntax that lets you develop shorter programs that enable you to think more about the problem you're trying to solve rather than how to express it to a computer.

Running APL
Traditionally a commercial language, there are now quite a few APL dialects available to download for free without feature limitations, and most of these can be tried online without installing anything.

Introduction to APL
Taking up APL can ba a daunting task, but a few introductory guides have been created to help in the process:


 * I am new to programming


 * I am a programmer but new to APL


 * I want to learn intermediate APL


 * I'm an old APLer who wants to learn modern APL

Who uses APL?
There are many case studies of both hobby and real-world APL applications.

There is a popular APL chat room on Stack Exchange.

There are active user groups all around the globe, many of these hold regular in-person meet-ups.

Examples
APL's terseness means that substantial programs are expressable in a small space, relative to many other programming languages. Here are some examples:

Split text by delimiter
','(≠⊆⊢)'comma,delimited,text' ┌─────┬─────────┬────┐ │comma│delimited│text│ └─────┴─────────┴────┘

Conway's "Game of Life"
John Scholes is famous for the following implementation of Conway's "Game of Life": ⎕←world←2 2 2 2⊤0 12 5 2 4 1 0 1 0 0 0 0 0 1 1 0 1 0 0 0 0 1 0 0 0 0 1 0 0 1     {↑1 ⍵∨.∧3 4=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂⍵} world 1 1 0 1 0 0 0 1 1 1 0 0 0 1 0 1 1 0 0 0 1 0 0 0