Functional programming is a programming paradigm in which program structure and control are expressed through pure mathematical functions without global state or mutable data.
Functional programming falls under the umbrella of declarative programming. Rather than writing imperative statements that manipulate application, object, or local state and ultimately come to some final value, functional programs compose expressions, in the form of functions, that operate purely on inputs and outputs.
In functional programming, there is no global or mutable state. When a function is called for a given input X it will always return the same output value. This is in direct contrast with other paradigms such as OOP in which the modeling, saving, and manipulation of the state are key concerns. This absence of state and mutability also means a lack of side-effects. Retrieving...