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

- An introduction to APL by Bernard Legrand
- The APL Wiki
- The J Wiki
- code.kx.com
- Yale Idiom List (Perlis & Rugaber, 1977)