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 and 4.1
-
The F# 4.0/4.1 Language Specification (latest, PDF), (latest, DOCX) - The latest, working version of the F# 4.0/4.1 language specification.
-
The RFCs for F# 4.0 and F# 4.1 and F# 4.1 update provide primary documentation for the features added. Not all details of these have been applied to the language specification document as yet:
Comments and edits are both welcome. To contribute to the specification, please fork this repository, edit the working draft document, and send a pull request. The custodians of the specification will review these pull requests and consider them for acceptance into the working drafts, which will then be updated here.
MSWord is used to format and edit the working drafts of the specification. Finalized versions of the specification are published as PDF.