F# 4.1 features significant language improvements and cross-platform .NET Core support.
New Features in F# 4.1
- .NET Core and .NET Standard Support for F# 4.1
New Language Capabilities in F# 4.1
- Struct Tuples and Interop with C# 7/VB 15 Tuples
- Struct annotations for Records
- Struct annotations for Single-case Discriminated Unions
fixed
Keyword for native interop scenarios- Underscores in Numeric Literals
- Caller Info Argument Attributes
- Adding a Result Type
- Mutually Referential Types and Modules Within the Same File
- Implicit “Module” Suffix on modules which share the same name as a type
- Byref Returns
- Error Message Improvements
The following features have also shipped with F# 4.1:
- Implement IReadonlyCollection<'T> in list<'T>
- Optional and DefaultParameterValue attribute support
- Additional Option module functions
- Statically Resolved Type Parameter improvements
- Compiler performance improvements
- Struct annotations for multi-case Discriminated Unions
Further References
- A Peek into F# 4.1
- Announcing F# 4.1 and the Visual F# Tools for Visual Studio 2017
- RFCs implemented in F# 4.1
- Connect(); // 2016: What's New in F# 4.1
- F# Language and Tooling Improvements in Visual Studio 2017
- F# 4.1 Brings Improvements and Interoperation with C# 7
Known Issues
There are a number of known issues which are either already fixed and pending a release, or are on the immediate roadmap for getting fixed. You can see this list here.