The "Thinking functionally" series

This series of posts will introduce you to the fundamentals of functional programming what does it really mean to "program functionally", and how this approach differs from object oriented or imperative programming.

A look at the basics of functional programming
The impetus behind functional programming
Binding not assignment
Understanding the type notation
Breaking multi-parameter functions into smaller one-parameter functions
Baking-in some of the parameters of a function
Building new functions from existing ones
Lambdas and more
A function signature can give you some idea of what it does
Nested functions and modules
Creating methods the F# way
Using combinators to build functionality