This project is read-only.

What efforts are being made collaboratively between the Roslyn team and the F# team to bring a consistent development experience for all 3 primary .Net languages?

Topics: APIs, General
Nov 15, 2014 at 5:39 AM
Edited Nov 15, 2014 at 5:44 AM
I'm sorry if this has been asked before. I tried searching here in discussions but it seems like searching for "F#" doesn't yield relevant results.

What possibilities are there that the F# compiler may leverage existing "IDE facing" Roslyn infrastructure and APIs to bring all the goodness and awesomeness in refactoring and code analysis you guys have made possible via Roslyn?

I'm trying to get deeper into F# and the Visual Studio experience is consistently and objectively "less polished" than the C#, on VS 12.0, even with the F# Power Tools add on.

P.S: you guys are doing an AMAZING work. Keep it up!! =)
Nov 17, 2014 at 6:10 PM
Hello,

First, the Managed Languages team owns the development of the languages and development experience for Visual Basic, C# and F#. At times in the past these were three separate teams, with their own codebases, goals, ideologies and development practices. Today we are one team, the members of the F# also contribute to VB and C# and the Roslyn developers similarly contribute to F#. Each language addresses different core scenarios and has differing IDE experiences. Achieving the "polish" of the Visual Basic and Visual C# experience is very expensive and has taken years of development effort. The current position is that F# is not similar enough to Roslyn for us to make F# a Roslyn language, although we are looking at ways we can leverage the Diagnostic framework and the editors. Our current plans are to continue with the F# language service and compiler service as the basis for our UI experience.

F# is also fully open-source including the UI stack and as a consequence our open source community are improving the experience every release, and also, as you have already discovered the Visual F# Power Tools adds a number of interesting editing tools to the Visual F# Tooling.

I hope this clears up a number of things for you.

Thanks

Kevin
Nov 18, 2014 at 3:54 PM
KevinRansom wrote:
Today we are one team...
Does it mean that F#-first team members are happy with the initial C# pattern match proposal?

Thanks!
Nov 18, 2014 at 6:39 PM
The Roslyn language designers have a lot of work to do before they have a pattern matching solution that they are satisfied with. Neal and Mads both sit one door away from me and so I hear and get involved in many of their discussions.

You should regard the current proposal as something that points the way forward, a way of identifying the strengths and weaknesses and implement-ability of the proposal. Discuss it and think about it in those terms, there is a lot of work ahead before the feature is cooked.

It is worth noting that F#, C# and VB are different languages each with it's own strengths and weaknesses, features and ideas can be borrowed from any of them but the eventually implementation will need to work well with the language for which it is implemented. I can see that the current proposal has some room to evolve until it is a great fit for C#, but Neal and Mads are aware of that and will keep refining it until it's great.