Functional programming: It is a style of programming related with languages like Haskell. The functional programming languages are more strongly tied to a mathematical concept of `function' than imperative programming languages. This makes it simpler to exert program-proving methods and logical reasoning to the functional programs. In particular, the functional programs do not employ the thought of variables in the traditional sense, that is, a memory location whose contents may be modified from time to time as a program performs.