The APLs

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 K 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 a 3 by 81 array of integers indicating the ‘exclusivity group’ for each board position; function s solves Sudoku puzzles

  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…

Bon, moi je retours à mon C++

Tutorials, cookbooks and reference

Wikipedia articles

Community sites

 

BAA logo

Next meetings

Vector is the journal of the British APL Association. The BAA promotes the APLs, terse programming languages derived from Iverson’s mathematical notation. (more…)

comp.lang.apl

Kenneth E. Iverson
Kenneth E. Iverson
1920-2004

Coming up

13-16 Sep
Technische Universität Berlin
APL 2010
Berlin

13-23 Sep
q training courses London

27 Sep–4 Oct
q training courses Singapore

18-28 Oct
q training courses New York

8-18 Nov
q training courses London

8-20 Dec
q training courses New York

YouTube

Valid XHTML 1.0 Strict