Friday, January 25, 2008

functional programming




I was wondering about the exact definition of Functional Programming, and wikipedia gave the following excellent consise definition:

"Functional programming is a programming paradigm that treats computation as the evaluation of mathematical functions and avoids state and mutable data. It emphasizes the application of functions, in contrast with the imperative programming style that emphasizes changes in state."

This all comes from the Lamda calculus which was developed by Alonzo Church and Stephen Kleene in the 1930s to investigate functions, as an alternative to the set based investigation into the foundations of mathematics by Bertrand Russell.