Main Page
497 articles about APL that anyone can edit.
See the navigational overview of content.
Running APL
Traditionally a commercial language, quite a few implementations are now free without feature limitations, several can be tried online, and many are open source.
Hello world
Taking up a new programming language can be a daunting task. While it can appear cryptic at first, you can learn to read, write and remember APL with little effort. There is plenty of material to help you in the process.
Introductions ∙ Learning resources ∙ Blogs ∙ Podcasts ∙ Videos
Who uses it?
APL is used by both hobbyists and application developers. There are active user groups and meetups online and all around the globe. There are also multiple online chat rooms and forums.
Case studies ∙ Job listings ∙ Conferences
Contributing
APL Wiki is an online open-content wiki; that is, a voluntary association of individuals and groups working to develop a common knowledge resource. The structure of the project allows anyone with an Internet connection to alter its content.
Examples
APL's terseness means that substantial programs are expressible in a small space, relative to many other programming languages. Below is just a taste. Many more, and fully explained, examples are in the simple examples article.
Split text by delimiter
With the introduction of tacit programming, many functions can be expressed in fewer characters than even the shortest fitting name. For example ≠⊆⊢
is but three characters, while you would need five for the name Split
:
','(≠⊆⊢)'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