**APL** is at the same time a mathematical notation and a complete, high level language for programming computers.

**APL** makes it easier for many *Domain* or *Subject Matter* Experts to write (components of) applications, because it is a notation which is more closely related to already familiar notations, than are traditional programming languages.

**APL** is a dynamic, functional language based on an inherently parallel, array-oriented notation, where primitive functions typicially apply to all
items of argument. For example, the result of the expression
**(100 200 300 × 1 1.5 2)** is
**(100 300 600)**.

**APL** is concise, using symbols to denote all its
primitive functions and operators, to avoid having reserved words which
might conflict with the names used for the domain-specific
functions that APL users typically develop as extensions to APL.

A function to compute the average of a list can be defined
as **avg←{(+⌿⍵)÷≢⍵}**: It divides the sum
of the items in the right argument
**(+⌿⍵)** by the number of items **(≢⍵)**.

Enter APL expressions in the box on the right, and view the results! For an introduction and examples of expressions to try out, take a look at Mastering Dyalog APL!