NOTE: Before reading this series, I suggest that you read the "thinking functionally" series as a prerequisite.
In this series we'll look at how functions and values are combined into expressions, and the different kinds of expressions that are available in F#.
We'll also look at some other basic topics, such as
let bindings, F# syntax, pattern matching, and outputting text with
This series is not meant to be exhaustive or definitive. Much of the syntax and usage of F# should be obvious from the examples, and the MSDN documentation has all the details if you need them. Rather we will just focus on explaining some of the essential areas that might be confusing.
So, we'll start with some general tips, talk about how
let bindings work, and explain the indentation rules.
After that, the next few posts will cover
match..with expressions, the imperative control flow expressions, and exception expressions. Computation expressions and object-oriented expressions will be left to later series.
Finally, we'll finish with some worked examples that use pattern matching as an integral part of their design.