The A-Z of Programming Languages: F#

Microsoft researcher Don Syme talks about the development of F#, its simplicity when solving complex tasks, the thriving F# community and the future ahead for this fuctional programming language.

Don Syme, Senior Researcher, Microsoft Research Cambridge. Image credit: Microsoft Research.

Don Syme, Senior Researcher, Microsoft Research Cambridge. Image credit: Microsoft Research.

Was F# originally designed in the .NET framework?

Yes, totally. F# is all about leveraging the benefits of both typed functional programming and .NET in unison.

What elements has F# borrowed from ML and OCaml?

F# is heavily rooted in OCaml, and shares a core language that permits many programs to be cross-compiled. The type system and surface syntax are thus heavily influenced by OCaml.

What feedback did the F# September 2008 CTP release get?

It’s been really great. We’ve heard from existing F# developers who have been really happy to see all the improvements in the CTP release – in particular some of the improvements in the Visual Studio integration. It’s also been great to see lots of new users coming to F# with this new release.

Do you have any idea how large the F# community currently is?

It’s hard to tell. We’re getting an excellent and active community developing, mainly around hubFS and have seen consistent growth throughout the year.

You say on your blog that “one of the key things about F# is that it spans the spectrum from interactive, explorative scripting to component and large-scale software development.” Was this always a key part of the development of F#, or has it simply morphed into a language with these features over time?

A key development for us was when we combined F# Interactive with Visual Studio. This allowed F# users to develop fast, accurate code using Visual Studio’s background type-checking and Intellisense, while interactively exploring a problem space using F# Interactive. We brought these tools together in late 2005, and that’s when the language really started hitting its niche.

What are you currently most excited about in the development of F#?

This year we have really focused on ensuring that programming in F# is simple and intuitive. For example, I greatly enjoyed working with a high-school student who learned F#. After a few days she was accurately modifying a solar system simulator, despite the fact she’d never programmed before. You really learn a lot by watching a student at that stage.

How much influence has Haskell had on the development of F#?

A lot! One of the key designers of Haskell, Simon Peyton-Jones, is just down the corridor from me at Microsoft Research Cambridge and has been a great help with F#, so I have a lot to thank him for. Simon gave a lot of feedback on the feature called “asynchronous workflows” in particular. The F# lightweight syntax was also inspired by Haskell and Python.

Over the last five years F# has seen a lot of idea sharing in the language community, at conferences such as Lang.NET. The .NET framework has played an important role in bringing the programming camps together.

Join the newsletter!


Sign up to gain exclusive access to email subscriptions, event invitations, competitions, giveaways, and much more.

Membership is free, and your security and privacy remain protected. View our privacy policy before signing up.

Error: Please check your email address.

Tags a-z of programming languagesf#microsoft research

Show Comments