InfoQ Homepage News F# 2017 Retrospective

F# 2017 Retrospective


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.

We need your feedback

How might we improve InfoQ for you

Thank you for being an InfoQ reader.

Each year, we seek feedback from our readers to help us improve InfoQ. Would you mind spending 2 minutes to share your feedback in our short survey? Your feedback will directly help us continually evolve how we support you.

Take the Survey

Rate this Article


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.

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

Community comments

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

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


Is your profile up-to-date? Please take a moment to review and update.

Note: If updating/changing your email, a validation request will be sent

Company name:
Company role:
Company size:
You will be sent an email to validate the new email address. This pop-up will close itself in a few moments.