functional programming
Functional programming is a declarative programming paradigm in which programs are formulated as mathematical functions.
While in procedural programming languagesinstructions are executed one after the other and in this way the contents of variables are changed, in functional programming an expression always has the same value during runtime. This property is very helpful for some academic requirements such as proofs.
A distinction is made between purely functional programming languages (e.g. Haskell and Miranda) and programming languages that incorporate the programming paradigm but mix it with imperative language elements (e.g. Scheme and Tcl).