function
1. (Or "map", "mapping") If D and C are sets
(the domain and codomain) then a function f from D to C,
normally written "f : D -> C" is a subset of D x C such that:
1. For each d in D there exists some c in C such that (d,c) is
an element of f. I.e. the function is defined for every
element of D.
2. For each d in D, c1 and c2 in C, if both (d,c1) and (d,c2)
are elements of f then c1 ◦ c2. I.e. the function is uniquely
defined for every element of D.
See also {image}, {inverse}, {partial function}.
2.
Computing usage derives from the mathematical term but is much less strict. In programming (except in
{functional programming}), a function may return different
values each time it is called with the same argument values
and may have {side effects}.
A {procedure} is a function which returns no value but has
only {side-effects}. The {C} language, for example, has no
procedures, only functions. {ANSI C} even defines a {type},
{void}, for the result of a function that has no result.
(1996-09-01)