Welcome to MSDN Blogs Sign in | Join | Help

Tackling the F# Productization

Over the last few months the F# team has been diving deep into the technical work needed to productize F#. In this post I'd like to give a bit of a picture for what that means and how the team has been ramping up on our work.

Firstly, the team! In Cambridge we have myself and James Margetson, and in Redmond we have Luke Hoban, Jomo Fisher, Brian McNamara, Chris Smith, Matteo Taveggia and Santosh Zachariah, with help from Raj Pai, Yasir Alvi, Shri Borde, Dmitry Robsman and Mike Hopcroft who lead up various disciplines (QA, Dev, Program Management) within teams dealing with several .NET languages.

So, what does "productizing F#" really mean? As a language, F# is certainly staying much like it is now: succinct, efficient, expressive, simple-to-use and with good tool support. Fundamentally, productization means more of the same, only better :-) 

At a more concrete level, over the next few weeks we plan to roll out the April Update to the Microsoft Research Release of F#. This release will :

  • contain over 100 bug fixes and feature completions to the core F# language
  • address some language design issues that we'd been putting off for some time
  • be matched by a draft of the F# Language Specification

I've greatly enjoyed working on this release: we've addressed many of the niggling issues that researchers tend to ignore ("Conditional compilation?" Yes! "assert calls System.Diagnostics.Assert?" Naturally! "Why doesn't typeof<_> work in an attribute?" Well, it will now!) . I'll follow up with more details as we make the release. At this point I want to also say a huge thank you to all those on www.hubFS.net and the F# List who've been so active in reporting issues and helping us really improve the quality of what we have. The F# user community are consistently helpful, friendly and well-informed, and are one of the main reasons why I find working on this language so enjoyable.

Looking beyond that release, Brian McNamara has written up a short summary of our plans for a CTP (Community Technology Preview) this summer and what that is likely to contain. The main features he lists are:

  • Runtime components:
    • fsc.exe, the compiler that knows the F# language
    • fsi.exe, the interactive command environment
    • the F# libraries (usual stuff, ranging from immutable lists to asynchronous computations library)
    • an msbuild task which lets you build an F# ".fsproj" project from the command line
  • Design-time components (Visual Studio 2008 integration):
    • F# language service, which provides syntax highlighting, intellisense, tooltips, etc.
    • F# project system, which enables you to add/remove .fs files, reference dlls, etc.
    • F# interactive window, where fsi is hosted inside Visual Studio

You'll be able to use all this in conjunction by composing these components with versions of Visual Studio such as the freely-available Visual Studio 2008 Shell or with Visual Studio 2008 itself. One of the things we've been investing in heavily is to have Jomo and Brian tackle the job of putting the F# design-time components on a sound engineering footing. This means we're no longer basing the Visual Studio components on the old MyC C++ sample, which was useful originally but had many problems too. Instead we're using VSX (Visual Studio extensibility) available in the Visual Studio SDK.  

So, it's shaping up to be a wonderful year for F#. There's lots of work for us to do, but I'm trust you'll agree it's worth it!

 

Published Friday, April 04, 2008 4:38 PM by dsyme

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

Friday, April 04, 2008 2:57 PM by Torkel

# re: Tackling the F# Productization

Great news, nice with better visual studio 2008 support.

Friday, April 04, 2008 5:44 PM by namin

# re: Tackling the F# Productization

Great! Will the CTP also support Visual Studio 2005?

Sunday, April 06, 2008 8:56 PM by Pandamonial

# re: Tackling the F# Productization

This is such exciting news! Congratulations to the F# team! I can't wait for CTP!

Sunday, April 06, 2008 11:44 PM by O'Reilly Windows DevCenter Blog

# What Sun Still Doesn't Get That MSFT Has Long Since Mastered

Don Syme's WebLog on F# and Other Research Projects : Tackling the F# Productization be matched by a draft of the F# Language Specification...

Monday, April 07, 2008 6:18 PM by Marek Bortkiewicz

# re: Tackling the F# Productization

And what about Unicode in new version F#

Tuesday, April 08, 2008 5:39 AM by Ralf Juergensen

# re: Tackling the F# Productization

That sounds great!

But will the compiler and interactive shell still be working with mono?

Friday, April 11, 2008 6:14 PM by Granville Barnett

# re: Tackling the F# Productization

This is awesome news!

F# + great VS tooling support = magic :-)

The msbuild task will be a welcome addition as well.

Friday, April 11, 2008 6:19 PM by Chris Smith's completely unique view

# Shameless plug - we're hiring!

As Don and Brian have mentioned, we are working towards an April Update to the F# research release as

Saturday, April 19, 2008 6:45 PM by Mike

# re: Tackling the F# Productization

When it's done, I'll use it for sure. I'm the type of person that is most comfortable within the IDE and stuff like projects is important to me.

I'm Looking forward to learning a new language, there should be much more books about F# once it's out of research.

Wednesday, April 23, 2008 4:03 AM by Philipp Schumann

# re: Tackling the F# Productization

Any chance any of the following Visual Studio support features will make it into the "April Update"?

- Folders in Projects (in Solution Explorer)

- Project References / Build Dependencies

- Build Events?

Kind of hard building anything major in F# only if that's not supported. Or I'm missing something completely...

Saturday, April 26, 2008 1:22 AM by MichaelGG

# re: Tackling the F# Productization

First, this is great to hear! As it's 25 April, I'm guessing something's right around the corner -- I can't wait!

Are there any general plans for F# and designer support? For example, building WPF applications and being able to design in Blend and still get XAML IntelliSense in VS and so on?

Friday, May 02, 2008 7:05 PM by Don Syme's WebLog on F# and Other Research Projects

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

We're very glad to announce the release of F# 1.9.4 , the Spring Refresh of F#, uploaded to the Microsoft

Saturday, July 26, 2008 1:09 PM by Heart of Sharpness (The MSR F# Team's blog at The Hub)

# Investing in F# - Making the tools and language better still

The F# team at Microsoft Research and Microsoft are currently working hard towards our planned CTP...

Leave a Comment

(required) 
required 
(required) 
 
Page view tracker