F# 2017 Retrospective

| by Sergio De Simone Follow 14 Followers on Dec 28, 2017. Estimated reading time: 2 minutes |

During 2017, F# reached version 4.1 and grew its user community, mostly in coincidence with the release of .NET Core 2.0, while getting stronger tooling and wider conference presence, writes Microsoft program manager Phillip Carter.

On the language front, the most significant achievement for F# in 2017 was the release of F# 4.1, which was by no means a minor release and brought many new features, such as struct tuples, struct records, and struct discriminated unions, and more. Additionally, optional parameters have been fixed in 4.1 and logging made more flexible by adding support for caller information.

Even more important, says Carter, was the growth of the community behind F#, which can be measured through product telemetry and activity on Twitter, GitHub, and the F# Software Foundation. Telemetry data shows that active unique users of F# can be counted in the tens of thousands, with a 20+% year-over-year growth. Interestingly, telemetry data shows growth coincides with the release of .NET Core 2.0. This notwithstanding, Carter admits telemetry is a complicated topic and can only provide a conservative estimation since Microsoft does not try to account for F# users in environments without telemetry.

F# tooling also got a lot better in 2017, according to Carter. First and foremost, F# is now available by default in Visual Studio 2017 when installing .NET Core, and Visual Studio 2017 added F# support for both .NET Core and .NET Standard, bringing F# tooling on-a-par with C# in Visual Studio 2017. Similarly, F# is available by default in Visual Studio for Mac, and is now supported on Azure Functions and Azure Notebooks. This moves F# closer to its stated goal of becoming the functional language with the better tooling out there.

According to Carter, the importance of .NET Core and .NET Standard for F# evolution has been further proven by the migration of much of the F# OSS ecosystem to comply with their definition. A few open source projects that Carter highlighted were Suave and Giraffe, to write web services on .NET Core and Fable, an F# to JavaScript compiler which aims to make it possible to write full-stack F# applications.

As a final note, Carter remarks the bright prospects he sees for F# in 2018, with even better tooling, a larger community, and stronger OSS activity. A few additional highlights for what is coming in 2018 are the inclusion of Type Providers into .NET Standard 2.0, .NET Core support for F# REPL, and more.

Rate this Article

Adoption Stage

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread
Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread


Login to InfoQ to interact with what matters most to you.

Recover your password...


Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.


More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.


Stay up-to-date

Set up your notifications and don't miss out on content that matters to you