Share via


Announcing the F# Compiler + Library Source Code Drop

Right in time for the first F# in Education Workshop in Boston, I’m very glad to announce that the long-awaited source code drop for an F# 2.0 compiler and core library are now available, as part of the F# PowerPack

  

This release reinforces the commitment Microsoft are making to F#, including F# in Visual Studio. As explained in my PDC10 lecture The Future of F#, we have a clear vision for F#, indeed a ground-breaking one, and are investing in it, and we are deeply committed to shipping F# "in the box". That is the real focus of F#: a quality experience of functional programming in Visual Studio, and that is what our team are driven to achieve and what we work for.

 

To augment this, we are glad to be able to provide a compiler/library source drop. From an engineering perspective, we're doing this for one major reason: tool development - a source drop enables the F# community to develop and contribute a range of tools to the F# and Visual Studio ecosystem. These could be UI tools such as code visualizers, or editing tools such as refactorings, or new ways of executing, hosting or interpreting F# code, or indeed whole new F# editing experiences. There are also some secondary reasons for the source drop, in particular we understand the role that open source versions of languages can play in education and research circles, and as a result can give extra reach to a Microsoft-sponsored language technology. F# in particular has attracted interest from some of these communities, with keynotes at Eclipse Summit Europe, Splash/OOPSLA, JAOO and QCon, and numerous invitations to talk at universities.

This source code is under the Apache 2.0 license and is published as part of the F# PowerPack codeplex project, which is now also under the Apache 2.0 license. The F# PowerPack now includes libraries, tools and the compiler/library source code drops.

 

I’d like to take a moment to explain the F# team’s approach to this. Firstly, the source for the F# compiler in our MSI/CTP releases has been available for some time, in the releases themselves, so in that sense there’s not much new in this release. Secondly, we’ve always made sure we have a free download binary release of F# available, and will continue to do that, and that should still be the main way you “get” a release of F#. However, we’ve long discussed making compiler+library source available in a different way. 

After some discussion, we’ve decided to do this via a “code drop” model, where we make available versions of the compiler+library code logically matching each release of the F# language itself. In the F# team, releases of F# are matched to coincide with releases of Visual Studio itself: using this release cadence simplifies our development processes and gives clarity to language versioning. This means the code we are making available today is for the F# 2.0 language, released in April 2010, including the small changes for the MSI tools updates through November 2010. We expect to make matching code drops if/when service pack(s) of Visual Studio 2010 are released, though sometimes it may take a while for us to get that out the door.

 

As this release is a code drop, it does not contain binaries. This means you still get F# from fsharp.net, so the place to “get” F# doesn’t change with this release. 

  • To get or learn F# 2.0, or learn why F# is important, go to fsharp.net
  • To use F# 2.0 in Visual Studio 2008 or Visual Studio 2010, including with the freely available Visual Studio 2010 Shell go to fsharp.net
  • To get the compiler+library source code drop, go to the F# PowerPack and look for directory compiler.

Enjoy!

Don, for the F# team

Comments

  • Anonymous
    November 04, 2010
    Thanks Don!

  • Anonymous
    November 04, 2010
    Great job. After last weeks news of Silverlight's demise, this is a big relief!

  • Anonymous
    November 04, 2010
    Cool... now you need to work out how your going to take contributions of code from the outside and handle the community.

  • Anonymous
    November 04, 2010
    Thank you for this. Have you considered opening up your source tree and allowing external contribution, or at least people outside of Microsoft to have a window into your development process? This will go a long way to growing a community around the project. "Code drops" do not usually encourage this. The code you're offering is already 6 months old. We have no way of knowing if bugs are already fixed in your current trunk, so there is less incentive to try and submit patches, etc. Thanks again, RJ Ryan

  • Anonymous
    November 04, 2010
    Apache2 has a patent grant :D

  • Anonymous
    November 04, 2010
    this is faaaaaaaaaaaaaaaantastic!   F# + VS is a solid stack for various types of projects.

  • Anonymous
    November 04, 2010
    Every single time. Additionally the code editor is feature poor and chomps CPU. So the question for me is if MS is investing heavily in F#, where is the money going? If I were more cynical, I would read releasing the source code as an effort to make up for lack of internal resource.

  • Anonymous
    November 04, 2010
    Every single time. Additionally the code editor is feature poor and chomps CPU. So the question for me is if MS is investing heavily in F#, where is the money going? If I were more cynical, I would read releasing the source code as an effort to make up for lack of internal resource.

  • Anonymous
    November 04, 2010
    Does this mean that VS support for F# is not dead in the water? Right now, one of the major problems with F# is that tool support is minimal.

  • Anonymous
    November 04, 2010
    Hooray!! I guess this means we'll have soon a Mono release including it in our favorite Linux distros :D

  • Anonymous
    November 04, 2010
    Thank you, I'm ashamed to admit it but Microsoft is getting a better company... slowly.

  • Anonymous
    November 05, 2010
    Well, this is a good step for getting people excited and interested in the platform. Congratulations!

  • Anonymous
    November 05, 2010
    This is a great new Don, thanks "To augment this, we are glad to be able to provide a compiler/library source drop, and are excited about the role this can play for education and tool development." I hope after this announce courses that uses F# begin to appear in the curriculum of computer science majors.

  • Anonymous
    November 05, 2010
    Hi. Could you maybe post a direct link to the  PDC10 lecture video also? Silverlight does not work on my platform.

  • Anonymous
    November 05, 2010
    thanks , though it has nothing to do with f#,  what about jscript ?

  • Anonymous
    November 05, 2010
    It would be awesome if the source for Visual Studio integration was published too... A lot of open source languages for .NET would benefit from studying that code to implement their own integration.

  • Anonymous
    November 15, 2011
    Catbert,  check out the python tools for visual studio,  They provide source.

  • Anonymous
    April 29, 2012
    Is the compiler contained in InstallFSharp.msi the final version of the f# 2.0 compiler? I mean, is it the same one included with the release of Visual Studio 2010? I'm asking since this is being included as part of the CTP, and I cannot see anywhere the final version of F# 2.0 standalone compiler. Or should I build it from the source code?

  • Anonymous
    December 10, 2012
    Thanks. I'm curious about Java Script myself and if the code could work with a <a href="www.alphapointtechnology.com/">data center software company</a>?