Overview of language features and constructs optimization
F# as a functional programming language has lots of language features. These language features also define the unique traits of F# itself, differentiating from other languages such as C#/VB.NET.
For example, the following are the F# language features related to functional programming:
Pattern matching
Active pattern
Type inference (including type inference generalization)
Inline function (also called function inlining)
Discriminated union
Discriminated union is a language feature and it is also a type that is unique to F# implementation, although it is compatible with C#/VB.NET. The best practices of using discriminated union are already discussed in Chapter 3, Optimizing Data Structures.
By a simple definition, a language feature has the following elements:
Syntax, the keyword and the usage
Constructs, the overall unification of syntax and the contextual usage, especially when used within other language elements
Semantics, the actual context...