Functional programming
Functional programming is the programming paradigm consisting of building programs by using only subroutines that behave like mathematical functions. For example, codice_1 is a function that takes three functions as arguments, and, depending on the result of the first function ("true" or "false"), returns the result of either the second or the third function. An important advantage of functional programming is that it makes easier program proofs, as being based on a well founded theory, the lambda calculus (see below).