What is a Functional?
In computer science, functional programming is a programming paradigm that emphasizes the use of pure functions in the mathematical sense, use of first-class and higher-order functions, declarative over imperative code, and often (though not always) more complex type systems. It is related to but distinct from object-oriented programming.

A function which does not change state is said to be "pure". Pure functions have no side effects and can be used without affecting any other part of the program. They are essential for guaranteeing the correctness of programs written in functional languages.