APL

/ay-pee-ell/ · noun · Development · Origin: 1966

Definitions

  1. A Programming Language, a mathematically-oriented language that uses a special set of symbolic operators to manipulate arrays with extraordinary conciseness. APL programs are famously dense — a single line can replace pages of code in other languages — and its unique character set requires a special keyboard layout. It influenced J, K, and modern array languages.

    In plain English: A mathematical programming language that uses special symbols instead of words, famous for solving complex problems in a single cryptic line of code.

    Example: The entire Conway's Game of Life fits in one line of APL: life←{↑1 ⍵∨.∧3 4=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂⍵}

Origin Story

A Programming Language so mathematical it needed a custom keyboard

Kenneth Iverson developed APL's notation in the early 1960s at Harvard, publishing it in his 1962 book literally titled *A Programming Language*. The acronym **APL** came from the book's title. IBM implemented it in 1966.

APL uses special mathematical symbols -- Greek letters, arrows, and unique glyphs like ⍳, ⌈, ⍴, and ⊖ -- requiring a special keyboard. A single line of APL can replace pages of Fortran. The expression `(+/⍵)÷⍴⍵` computes an average of a list.

APL programmers were legendary for writing one-liners that were incomprehensible to everyone including themselves a week later. Despite this, APL was enormously influential -- it inspired J, K, and Q (used extensively on Wall Street), and its array-oriented thinking influenced NumPy and MATLAB.

Coined by: Kenneth Iverson

Context: Harvard and IBM, 1962-1966

Fun fact: Iverson won the Turing Award in 1979 for APL. The famous 'APL one-liner for Game of Life' is a complete cellular automaton simulation in a single expression. IBM produced special Selectric typewriter balls with APL characters.

Related Terms