Functional Values

Functions are also values. A function is simply a mapping which associates to each element in its domain $A$, to the codomain $B$.

$\displaystyle f:A\to B$ (2)

If a function of type $A\to B$ is applied to an argument $x\in A$, it will produce a result which is a member of $B$, i.e. $f(x)\in B$.

In Haskell, the type of a function is describe as a sequence of the types involved in its reduction steps.