We may say most aptly, that the Analytical Engine weaves algebraical patterns just as the Jacquard-loom weaves flowers and leaves.
—Ada Lovelace, Computer Pioneer
Weaving Software with Patterns
I have many “favorite” F# features, but my favorite favorite is pattern matching! Perhaps this is because it’s the feature that takes us furthest away from Object Oriented coding, letting us truly differentiate from legacy coding patterns. Another nice aspect is how unexpectedly pervasive it can be in well-factored codebases. Prepare to be surprised at the places where you can use pattern matching to simplify and beautify ...