Historical Events in Functional Programming
The history of functional programming is nothing short of fascinating. Functional programming languages are based on an elegant yet simple mathematical foundation, Lambda calculus.
"To understand a science, it is necessary to know its history." - Auguste Comte
Let's look at the discoveries that led up to Lambda calculus.
George Boole (1815 - 1864)

Logic came from ancient Greeks such as Aristotle and Euclid. Prior to Boole, logic was literally in Greek; it was expressed in the form of language. Boole was the first to translate logic into algebraic symbols:
- true = 1
- false = 0
- and = product (AxB)
- or = sum(A+B)
Augustus De Morgan (1806 - 1871)

De Morgan's Law stated that all logical operations can be expressed in terms of and, or, and not. Furthermore, all logical operations can also be expressed in terms of just and and not, or just or and not:
a ∧ b = ¬ ( (¬ a) ∨ ...