Scalar function

A scalar function is one of a class of primitive functions that apply to arguments one element at a time. Dyadic scalar functions pair elements of their arguments based on conformability rules, and thus are subject to scalar extension. In nested array languages scalar functions recursively descend into nested arrays until they can be applied to simple scalars; in flat array languages they usually do not apply inside boxes.

Only a particular valence of a function is labelled "scalar". The scalar monad Not usually shares the glyph  with non-scalar dyad Without, and similarly scalar Roll and non-scalar Deal are both written.

User defined scalar functions
In dialects with the Over operator, any function can be used as a scalar function (that is, be applied to all simple scalars) using the derived monadic operator. In dialects that support dfns, this operator can be defined as:

Standard scalar functions
Most APLs use a set of scalar functions that was worked out fairly early in APL's development. These are listed in this section.

Additional scalar functions
Very few additional scalar functions have been added later in various dialects: