With this week’s release of Visual Studio 2017 15.6, Microsoft has made foundational changes to the F# language and core library. F# is a Microsoft-developed, strongly typed language positioned as being “functional-first.”
The main behavioral change makes F#
tuple types and
System.Tuple types completely synonymous. As a result, a warning is presented when developers acces
.Rest properties from a system tuple. This changes fixes inconsistencies in how the two types interact and repairs a regression that was introduced in Visual Studio 2017 15.4.
Other changes include:
- F# project support for .Net Core SDK-based projects now have full file-ordering and folder support.
- The F# library, FSharpCore, has the
IsSerializableproperty on F# types for the .Net Standard version of the library. The library also supports the
- A change in versioning enables tools to align with multiple release trains for different products, rather than artificially aligning with an F# language version. The language, the FSharpCore binary, and the FSharpCore package will use the same versioning scheme. To enable this alignment, the F# language version will jump from 4.1 to 4.5 when Visual Studio 2017 15.7 ships.