The F# Language Specification
The F# Language Specification gives an in-depth technical explanation of the F# language constructs and required compiler behavior. It discusses topics such as lexical analysis, grammar, types including type inference algorithm, expressions, patterns and other.
F# 2.0
- The F# 2.0 Language Specification (final version, PDF) - The final version of the F# 2.0 language specification.
F# 3.0
- The F# 3.0 Language Specification (final version, PDF) - The final version of the F# 3.0 language specification.
F# 3.1
- The F# 3.1 Language Specification (final version, PDF) - The final version of the F# 3.1 language specification.
F# 4.0
-
The F# 4.0 Language Specification (near-final version, PDF) - The near-final version of the F# 4.0 language specification.
-
The RFCs for F# 4.0 provide primary documentation for the new features added.
F# 4.1
- The F# 4.1 Language Specification (latest, PDF), (latest, DOCX) - The latest, working version of the F# 4.1 language specification.
F# 4.1-9.0
Since F# 4.1 new features have been documented through RFCs and additions to the F# Language Guide.
Note: We changed the versioning scheme after F# 5.0, and F# 6.0 became F# 6.
-
The F# Language Specification (latest, PDF), (latest, DOCX) - The latest, working version of the F# language specification.
-
The RFCs for F# 4.0
-
The RFCs for F# 4.1
-
The RFCs for F# 4.1b
-
The RFCs for F# 4.5
-
The RFCs for F# 4.6
-
The RFCs for F# 4.7
-
The RFCs for F# 5.0
-
The RFCs for F# 6
-
The RFCs for F# 7
-
The RFCs for F# 8
-
The RFCs for F# 9
Note: We’re currently working on an improved version of the F# language specification here. Contributions welcome!