F# 1.9.4 Now Available: Making F# Simpler and More Consistent

**

[ Note: we have made a minor update to 1.9.4 called 1.9.4.19. The download links below point to this release. If you need 1.9.4.17 go to our downloads page. ]

[ Note: download links updated to point to the MSI correctly ]

 

We're very glad to announce the release of F# 1.9.4, the Spring Refresh of F#, uploaded to the Microsoft Research download site yesterday! (MSI download, ZIP, detailed release notes) (Ok, ok, apologies to our antipodean users where it’s actually autumn... In any case, on with the show! )

 

This release of F# has much the same shape and form as earlier releases of F# from MSR. As I hinted in April, our focus for this release has been on polishing and simplifying the language and libraries, particularly with regard to making certain details more regular and consistent. Much of this has been driven by user feedback, and we'd like to say a big thank you to for all the feedback we've got from hubFS users, the F# list, F# users at Microsoft and our growing number of commercial users, particularly our friends at the financial institutions using F#. Also a thank you to those community members who helped us by installing early releases of this version.

 

Some of the highlights of the language streamlining we've done in this release include

  • More consistent, symmetric operator overloading
  • Use named and optional arguments in conjunction with COM methods (gives simpler use of Excel, Word APIs etc.)
  • Additional nullness checking
  • Completing the object model (sealed, abstract class attributes and many other details have been addressed)
  • Performance optimizations in the F# core library
  • Improvements to the F# Interactive Window in Visual Studio
  • Over 100 bug fixes , many based on user feedback

Addressing items like these go a long way to transitioning the language into a stabilized, productization mode. Our overall goals, as always, are to integrate the succinctness, efficiency, expressivity of typed functional programming into the foundational set of tools that people use as part of .NET programming, while ensuring that language is simple-to-use and has great tool support.

The detailed release notes can be found here.

This release doesn't include many of the investments we've been making in Visual Studio tools - we'll be rolling those out over the rest of the year as we move into CTP and beynd.

 

There have been numerous changes and enhancements in this release, documented below. These may cause you to see additional deprecation warnings or errors. We’d be particularly grateful if you could report any compilation failures, and if possible reduce them to a minimal repro for us.

 

Many thanks & enjoy your F# work!

 

Don, James, Luke, Brian, Jomo, Chris, Matteo, Santosh and Laurent