Microsoft's 'functional first' language F# is expected to receive a major update. We just reported the upcoming release last week when Microsoft announced that the .NetCore would be getting some significant upgrades over the course of the next few months. The announcement stated that the update was expected to have a better IDE, along with support for annotations and fixed keywords but key details fell by the wayside.
Today, the .Net engineering team released a new blog post to let us take a quick peek into the anticipated F# 4.1. Microsoft is proud that the F# will support the .Net Framework, including backward compatibility. But that's just the tip of the iceberg. F# 4.1 will also include a list of new language capabilities focused on programmer flexibility and incremental improvements.
- Struct Tuples and Interop with C# 7/VB 15 Tuples
- Struct Records
- Struct Unions (Single Case)
- Fixed Keyword
- 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
You can read more about each of these additions in the official blog post. In preparation, the F# community and other groups have been working closely with Microsoft on the anticipated update.
- The Xamarin team at Microsoft are actively incorporating F# 4.1 support into the F# support in Xamarin Studio.
- The Mono packaging team is updating the packages available to include F# 4.1.
- The F# community is integrating F# 4.1 support in the F# Compiler Service component, used by many editing and compilation tools.
- We are working with the F# community to help update the F# support in the Visual F# Power Tools and ensure it works smoothly with the next release of Visual Studio.
- The F# community are already actively integrating support for F# 4.1 into support for Visual Studio Code and Atom through the Ionide project.
- The F# community are integrating support for F# 4.1 into many other tools, include Fable, an F# to ECMAScript transpiler, and into the F# support for Emacs and Vim.
For now, there isn't a date planned for the rollout. The team noted that they are putting the final touches.They aren't making any promises towards supporting Roslyn Workspaces in the Visual F# Tools, but they are currently working on it. The F# 4.1 will be rolled out to support Visual Studio Code, Xamarin Studio, and Visual F#Power Tools for Visual Studio.
Can't wait to get your hands on a lot of these tools? Preview versions of some of the features are already available as alpha in the .Net Core.