Closed cartermp closed 7 years ago
Thanks for the clarifications @cartermp & @dsyme
I will implement the workaround to get the type provider working with the dotnet cli as an interim step to FSharp.Data being released on .netstandard2.0
Thanks for all the efforts they are very appreciated this is an exciting time for the platform and I cannot wait for F# to be a full blown first class citizen across the board.
@buvinghausen Thanks for the encouragement Brian!
There will be a lot of work to do to keep improving out .NET Core/.NET SDK story and help bring community projects across to the SDK, the community would love to have your help where you can :)
Closing old discussion.
Hey folks,
Sorry for no announcement within the actual month of June. There still wasn't a lot of clarity on our end about what exactly would ship in each concrete asset (.NET Core, and VS tools) and when that would be. There's more clarity now. Here's a high level overview.
What's new?
Quite a few things are new. The major focus area for the team has been .NET Core 2.0.
Barring any unforeseen, super critical issues, F# will ship alongside C# on .NET Core 2.0 on day 1. .NET Core 2.0 support is quite stable now. The bulk of the work was in moving F# in-band with the .NET Core SDK so that we would be built and tested directly alongside C# and VB. There were also some bugs fixed, and we do daily scenario validation with each new build of the SDK and CLI.
There are still remaining issues to work out - Type Providers, Code Quotations, and FSI support - but F# support is stable enough now to the point where these can be looked and delivered after the initial release of .NET Core 2.0 and .NET Standard 2.0.
We also are completing work to enable F# to be built from source on .NET Core. This works on macOS today, and is being validated on Linux distributions. When you download the .NET Core sources at release, you will be able to build them all from source, including F#.
We also worked with the community in establishing a plan for publishing FSharp.Core under the FSharp.Core NuGet package. You'll notice that the owners of this package are "F# Software Foundation, Microsoft". This is intentional. This is a first step in longer-tail efforts to work more with the community and make sure that both Microsoft and the FSSF/F# community are seen as delivering F#. We still haven't figured out what all of that means. But we want to avoid a world where Microsoft and the FSSF/F# community deliver different things to accomplish the same goals. We think .NET Core is a good place to kick that off.
Additionally, the VS 2017 Updates milestone has moved from 5% complete to 74% complete over the course of ~4 months. And this is with many, many more issues added to that milestone in that time frame. These are a mix of bugs, feature requests, and augmentations. The majority of this movement has come from the F# community. To those who made this happen, thank you. You're an incredible group of people.
Finally, VS 2017 Update 3 will feature the first bits enabling F# support for .NET Core in Visual Studio. There is one remaining work item for us to do in our language service. We are doing it this week. Once it's finished, we believe that it will be a good experience overall. In addition to .NET Core support, this will be using the new project system that the .NET IDE team is building. They have built out almost all of the support, and are dedicated to continuing work there to support F#. You can track issues related to this work here. We're very, very excited about this work. This project system is an upgrade to the F# project system in nearly every conceivable way: project load times, reliability, maintenance cost, and much more. Our long-term goal is to move F# entirely over to that project system so that we can finally be rid of the current F#-only project system. We don't have a timeline for this yet, but this is a top-of-mind item for us.
Here are some additional things accomplished:
project.json
What work is remaining?
As mentioned above, there is still remaining work. Here's a re-stated overview.
If you wish to try out some preview bits and report issues, here's how:
The second step is critically important, as there are numerous issues fixed in that branch.
And just to clarify, there is currently no affinity between .NET Core versions and VS Preview or VS 2017 versions. .NET Core 2.0 is currently entirely out of band with VS 2017. There are no current plans to make .NET Core ship in the same "package" as VS 2017. As .NET Core 2.0 updates (and F# support for it also updates), you can simply update .NET Core on your machine. There is no need to wait for a VS update to see bug fixes or improvements in this area.
Additionally, there are three major long-tail efforts that we've planned. We have not "costed" this work yet, as we're head's down for .NET Core 2.0 support, but these are top-of-mind things that we want to see accomplished.
So, how about some dates?
No dates at this time. Sorry! Things are very, very tight right now for F#, .NET, and VS 2017. You can try out preview builds to assess F# and .NET Core today. Much of you have been doing this already, including reporting critical bugs that have since been fixed. Thank you for this. As stated earlier, we do daily validation of scenarios, but the more eyes that can look at stuff, the better things will be. Thanks!