{"id":23294,"date":"2019-05-20T11:16:50","date_gmt":"2019-05-20T18:16:50","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/dotnet\/?p=23294"},"modified":"2019-05-21T11:37:51","modified_gmt":"2019-05-21T18:37:51","slug":"the-f-development-home-on-github-is-now-dotnet-fsharp","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/dotnet\/the-f-development-home-on-github-is-now-dotnet-fsharp\/","title":{"rendered":"The F# development home on GitHub is now dotnet\/fsharp"},"content":{"rendered":"<p><string>TL;DR<\/strong> We&#8217;ve moved the F# GitHub repository from <em>microsoft\/visualfsharp<\/em> to <a href=\"https:\/\/github.com\/dotnet\/fsharp\" rel=\"noopener\" target=\"_blank\"><em>dotnet\/fsharp<\/em><\/a>, as specified in the <a href=\"https:\/\/github.com\/fsharp\/fslang-design\/blob\/master\/tooling\/FST-1007-move-visualfsharp-repo.md\" rel=\"noopener\" target=\"_blank\">corresponding RFC<\/a>.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2019\/05\/Screen-Shot-2019-05-15-at-21.52.19.png\" alt=\"\" width=\"814\" height=\"298\" class=\"alignnone size-full wp-image-23302\" srcset=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2019\/05\/Screen-Shot-2019-05-15-at-21.52.19.png 814w, https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2019\/05\/Screen-Shot-2019-05-15-at-21.52.19-300x110.png 300w, https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2019\/05\/Screen-Shot-2019-05-15-at-21.52.19-768x281.png 768w\" sizes=\"(max-width: 814px) 100vw, 814px\" \/><\/p>\n<p>F# has a somewhat strange history in its name and brand. If we roll back the clocks to the year 2015, F# sort of had two identities. One side of this was Visual F#, or &#8220;VisualFSharp&#8221;; a product within Visual Studio comprised of a compiler and tooling that you could use on Windows. The other side was F#, or &#8220;FSharp&#8221;; an independent language with a roaring community that built F# tools, a library ecosystem, and multiple packagings of F# independently of Microsoft.<\/p>\n<p>Although this duality about F#&#8217;s identity was quite stark, it was also confusing. If you used the term &#8220;F#&#8221;, what exactly did you mean? Stuff that Microsoft built? Or something else? So, <a href=\"https:\/\/twitter.com\/dsyme\" rel=\"noopener\" target=\"_blank\">Don Syme<\/a> (creator of F#) penned a framing in his blog post, <a href=\"https:\/\/blogs.msdn.microsoft.com\/dsyme\/2015\/10\/23\/an-open-letter-about-the-terms-f-and-visual-f\/\" rel=\"noopener\" target=\"_blank\">An open letter about the terms &#8220;F#&#8221; and &#8220;Visual F#&#8221;<\/a>. This distinction was simple: if you&#8217;re using F# from Microsoft (i.e., on Windows via Visual Studio), it&#8217;s called Visual F#; otherwise, it&#8217;s called F#! Simple, right? As you might have guessed, things got more complicated over the years&#8230;<\/p>\n<p>While this split in terminology was arguably needed in 2015, it became more confusing over time. For one, there&#8217;s not really anything &#8220;Visual&#8221; about F# in the tradition of the &#8220;Visual&#8221; moniker for Visual Studio tools. It never had support for visual designers, and there are no current plans to build designer support for building Windows apps. F# is also not a <a href=\"https:\/\/en.wikipedia.org\/wiki\/Visual_programming_language\" rel=\"noopener\" target=\"_blank\">visual programming language<\/a>, nor is there any dialect of F# that is a visual programming language (to my knowledge). And with the advent of .NET Core, F# is now officially built and packaged by Microsoft in a way that is orthogonal to Visual Studio and Windows. It has long been a request from the F# community that Microsoft take non-Windows and non-Visual Studio packagings of F# seriously. Many F# users use .NET Core on macOS or Linux, using <a href=\"http:\/\/ionide.io\/\" rel=\"noopener\" target=\"_blank\">Ionide<\/a> with Visual Studio Code, Vim, or Emacs as their primary editor!<\/p>\n<p>Over time, .NET Core has become central to the future of F# and the entire .NET platform. For example, <a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/announcing-f-4-5\/\" rel=\"noopener\" target=\"_blank\">F# 4.5<\/a> released with a sizeable feature area (<code>Span&lt;'T&gt;<\/code> and friends), which is a .NET Core technology. F# is also installed by default in Visual Studio due to being installed as a part of the .NET Core SDK. Much of the F# community has embraced .NET Core, porting existing libraries and creating new ones for consumption on .NET Core. It&#8217;s become clear to us that much of the F# community&#8217;s center of gravity involves .NET Core (and .NET Standard), including F# targeting JavaScript (via <a href=\"https:\/\/fable.io\/\" rel=\"noopener\" target=\"_blank\">Fable <\/a>) and F# targeting Web Assembly (via <a href=\"https:\/\/fsbolero.io\/\" rel=\"noopener\" target=\"_blank\">Bolero<\/a>) that have emerged independently of Microsoft. This is quite a different world than 2015!<\/p>\n<p>Additionally, .NET has grown beyond the umbrella of Visual Studio and Windows. The <a href=\"https:\/\/dotnetfoundation.org\/\" rel=\"noopener\" target=\"_blank\">.NET Foundation<\/a> is an independent, 501(c)(6) nonprofit organization that houses many projects; including the C# and VB compilers and tools, the .NET Core runtime and libraries, and many independent open source projects that have no affiliation with Microsoft. I&#8217;ve personally noticed an uptick in OSS .NET activity, and the general .NET community&#8217;s acceptance of OSS components solving problems differently from Microsoft solutions seems to have also increased. F# has always had an independent nature to it, and a similar characteristic has developed in .NET itself.<\/p>\n<p>As all of this has transpired, a distinction about F# based on the &#8220;Visual&#8221; moniker and Windows\/Visual Studio has made less sense over time. To that end, we&#8217;ve taken some steps to help clear things up:<\/p>\n<ul>\n<li><a href=\"https:\/\/dotnet.microsoft.com\/languages\/fsharp\" rel=\"noopener\" target=\"_blank\">Branding F#<\/a> as &#8220;an open-source, cross-platform functional programming language for .NET&#8221;<\/li>\n<li>Referring to assets we produce as &#8220;F# language&#8221;, &#8220;F# compiler and core library&#8221;, and &#8220;F# tools&#8221; in <a href=\"https:\/\/docs.microsoft.com\/visualstudio\/releases\/2019\/release-notes#fsharp\" rel=\"noopener\" target=\"_blank\">Visual Studio release notes<\/a>, with all community attributions in line<\/li>\n<li>Tracking the supported F# version in <a href=\"https:\/\/dotnet.microsoft.com\/download\/dotnet-core\/2.2\" rel=\"noopener\" target=\"_blank\">.NET Core downloads<\/a> independently of Visual Studio<\/li>\n<\/ul>\n<p>The next step has been to rename the GitHub repository where F# is developed from <em>microsoft\/visualfsharp<\/em> to <a href=\"https:\/\/github.com\/dotnet\/fsharp\" rel=\"noopener\" target=\"_blank\"><em>dotnet\/fsharp<\/em><\/a> as-specified in the <a href=\"https:\/\/github.com\/fsharp\/fslang-design\/blob\/master\/tooling\/FST-1007-move-visualfsharp-repo.md\" rel=\"noopener\" target=\"_blank\">corresponding RFC<\/a>. We feel that this aligns well with the current state of affairs.<\/p>\n<p>Cheers, and happy hacking!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>TL;DR We&#8217;ve moved the F# GitHub repository from microsoft\/visualfsharp to dotnet\/fsharp, as specified in the corresponding RFC. F# has a somewhat strange history in its name and brand. If we roll back the clocks to the year 2015, F# sort of had two identities. One side of this was Visual F#, or &#8220;VisualFSharp&#8221;; a product [&hellip;]<\/p>\n","protected":false},"author":678,"featured_media":58792,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[685,196,636,646],"tags":[9,73],"class_list":["post-23294","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dotnet","category-dotnet-core","category-fsharp","category-visual-studio","tag-net-core","tag-f"],"acf":[],"blog_post_summary":"<p>TL;DR We&#8217;ve moved the F# GitHub repository from microsoft\/visualfsharp to dotnet\/fsharp, as specified in the corresponding RFC. F# has a somewhat strange history in its name and brand. If we roll back the clocks to the year 2015, F# sort of had two identities. One side of this was Visual F#, or &#8220;VisualFSharp&#8221;; a product [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/23294","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/users\/678"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/comments?post=23294"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/23294\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media\/58792"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media?parent=23294"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/categories?post=23294"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/tags?post=23294"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}