微软负责 .NET 的项目经理 Phillip 在博客宣布,他们已经将 F# 的 GitHub repo 从 microsoft/visualfsharp 迁移到 dotnet/fsharp,并按 corresponding RFC 中的规范来操作。
事实上,F# 的名字和品牌本身就有一段奇怪的历史。将时钟拔会 2015 年,当时 F# 有两个身份:一个是 Visual F#(或叫做 “VisualFSharp”),属于 Visual Studio 中的产品,包含可在 Windows 上使用的编译器和工具;另一个是 F#(或叫做 FSharp),这是一门独立的语言,可以独立于微软构建 F# 工具、库生态系统和软件包。
这种“双重性”的身份十分令人困惑 —— 如果你使用术语 F#,是希望表达何种含义?微软打造的工具还是其他东西?因此,F# 的创始人 Don Syme 在他的博客文章中写了一篇关于术语 “F#” 和 “Visual F#” 的公开信。他建议的区分方法很简单:如果使用微软的 F#(即在 Windows 上通过 Visual Studio 使用),它就叫做 Visual F#;否则,就被叫做 F#。很简单是吧?但结果你可能已经猜到了,这些年来事情变得更加复杂......
不过随着时间的推移,.NET Core 已经成为 F# 和整个 .NET 平台未来的核心。
默认情况下,F# 也会安装在 Visual Studio 中,因为它是作为 .NET Core SDK 的一部分安装的。与此同时,许多 F# 社区已经接受了 .NET Core,移植了现有的库并创建了新的库以供 .NET Core 使用。
此外,.NET 也已经超越了仅属于 Visual Studio 和 Windows 的范畴。因为其归属的 .NET 基金会是一个独立的非营利组织,其中包含许多项目,例如包括 C# 以及 VB 编译器和工具、.NET Core 运行时和库,以及许多与微软没有联系的独立开源项目。
随着所有这一切的发生,对于这两个 F# 的区分不再那么明显。为此,官方也采取了一些措施来帮助澄清问题:
将 F# 称为“.NET 的开源、跨平台函数式编程语言”
在 Visual Studio 发布说明中使用“F#语言”,“F# 编译器和核心库”以及“F#工具”的说法
在 .NET Core 中提供 F# 的下载,独立于 Visual Studio
官方表示,下一步是继续修改来自 microsoft/visualfsharp GitHub repo 中的命名。