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.
Thinking Functionally: Introduction. A look at the basics of functional programming.
Mathematical functions. The impetus behind functional programming.
Function Values and Simple Values. Binding not assignment.
How types work with functions. Understanding the type notation.
Currying. Breaking multi-parameter functions into smaller one-parameter functions.
Partial application. Baking-in some of the parameters of a function.
Function associativity and composition. Building new functions from existing ones.
Defining functions. Lambdas and more.
Function signatures. A function signature can give you some idea of what it does.
Organizing functions. Nested functions and modules.
Attaching functions to types. Creating methods the F# way.
Worked example: A stack based calculator. Using combinators to build functionality.
Last updated
Was this helpful?