The BAA promotes the APLs, terse programming languages derived
from Iverson’s mathematical notation.

These languages flourish where low code volume and fast development take
priority. Programs are short, abstract and fast to deploy.
The APLs are possibly the best languages ever devised for
inquisitive computing.

The kdb+ and q languages are particularly valued in the financial markets for
fast handling of very large datasets.

Some examples

A Dyalog function that returns the arithmetical mean of a list of numbers:

   {(+/⍵)÷⍴⍵}

 

The same function as a tacit verb in J:

   (+/%#)

 

and in NARS2000:

   (+/÷⍴)

 

Erastosthenes’ sieve in Dyalog:

   {(~⍵∊∘.×⍨⍵)/⍵}∘{1↓⍳⍵}

 

A K program: p is defined as a 3 by 81 array of integers indicating the
‘exclusivity group’ for each board position; function s returns an array of all the solutions of the Sudoku
puzzle
x , found by ‘brute force’.

  x(,/{@[x;y;]'(!10)^x*|/p[;y]=p,:,3/:-3!p:!9 9}')/&~*x

Older version:

  p.:3/:_(p:9\:!81)%3
  s:{*(,x)(,/{@[x;y;:;]'&21=x[&|/p[;y]=p]?!10}')/&~x}

Conways Game of Life
as a single expression in APL

 

More about the APLs…

Tutorials, cookbooks and reference

Wikipedia articles

Community sites