Microsoft has nearly completed feature work for F# 5, a planned upgrade to the open source functional language for .NET. The latest preview adds string interpolation.
Microsoft revealed it had reached feature completion on August 27, with the exception of what the company described as one minor enhancement planned for the .NET 5 release candidate. F# 5 is slated to reach general availability alongside the .NET 5 software development platform in November. At this point, Microsoft will focus mostly on bug fixes and addressing feedback.
- Support is now complete for nameof, which resolves the symbol it is being used for and produces a name that represents what it is called in F# source. This can be useful in scenarios such as logging, with logging protected against changes in source code.
- Open type declarations are featured in the preview, similar to open static classes in C# except with differences in syntax and slightly different behaviour to conform to F# semantics. With open type declarations, developers can open any type to expose its static contents. They also can open F#-defined unions and records to expose contents. This can be useful if a union is defined in a module and developers want to access its cases but not open the entire module.
- Computation expressions, allowing developers to improve the expressiveness of components, have been enhanced to allow for application forms.
- With this preview, interfaces can be implemented at generic instantiations.