Inside F#

Brian's thoughts on F# and .NET

Upcoming release and the “F# 2.0” language

Posted by Brian on February 8, 2010

If you’re very tuned in to the interwebs, you may be aware of hints that the public VS2010 release candidate (RC) will arrive soon.  As usual, the F# team plans to publish a new MSI/ZIP for VS2008 and Mono at the same time as the VS2010 release.  That’s very exciting and I’m looking forward to getting our newest bits out to developers.  (EDIT, Feb 2010: The release is now available – start here.)

What’s even more exciting for me is the ongoing stability of the language and core library since Beta2.  Over the past few years the F# language and core library have been continually improved and refined, thanks in large part to our terrific community, who have provided excellent feedback and bug reports with each release.  Now we’ve finally reached the point where we can say goodbye to the 1.9.x revision numbers and update the major version number of the F# language.  With the VS2010 RC and matching CTP soon arriving, there will finally be an F# compiler that announces itself as the

Microsoft (R) F# 2.0 Compiler

in the banner output of fsc.exe.  This release will be source-code compatible with the prior release ( The F# compilers in the VS2008 and VS2010 installations will both be for the F# 2.0 language, with source and binary-compatibility. The only substantive language or library changes from Beta2 to RC have been final removals of deprecated functionality and bug fixes to a handful of corner cases that affected binary compatibility.

The upside of all this for me is that I no longer need to worry about confusing folks with ‘old code’ from my blog.  I’ve had a number of questions along the lines of “hey, I found this code on your blog from a year ago, but it calls ‘Enum.to_int’ and that function doesn’t seem to exist any more…”  In honor of the stability of the F# 2.0 language, I’ve gone and updated all my old blog entries to F# 2.0 code.  Of course the F# team will also be updating sites like the F# Samples concurrently with the new release.  We’ll also be contacting various folks in the community who have published popular F# content to ask them to consider ensuring that their F# code is up to date.  There is a ton of great sample code in the F# blogosphere, and I often hear “yeah, I found this great sample to do XYZ… I had to change ‘Array.fold_left’ to ‘Array.fold’ to make it compile, but after that it just works and is exactly what I need!”  I’d love to remove those final speedbumps so that everyone has a smooth time trying out F# sample code, and can straightaway get on with enjoying programming with F# :)

So if you’re a reader of my blog, and find any code on my blog that does not compile with the latest F#, please let me know, and I’ll fix it.  And if you have published your own F# code/blog, please grab the VS2010 RC or February 2010 F# CTP after they arrive, and consider any final updates you may need to your most popular code samples.

Thanks again to everyone who has helped contribute to F# to get to where we are today!


2 Responses to “Upcoming release and the “F# 2.0” language”

  1. Adam said

    I\’ve been going through Pickering\’s Foundations of F#, and with the release on VS2008 every sample that contains the print_any, print_newline(), print_string, or print_endline (which is most of them through chapter 3 at least) is broken.How to fix?(Also added to Pickering\’s blog)

  2. Brian said

    Most of these now live in the powerpack, specifically in FSharp.PowerPack.Compatibility, I think. Get the PowerPack at, and add references to the DLLs.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: