我们邀请您为 F# 编译器、核心库和工具的未来版本做出贡献。该存储库的开发可以在 .NET 支持的任何操作系统上完成。
您还需要从此处安装 .NET SDK,确切的版本可以在存储库根目录的 global.json 文件中找到。
从命令行构建:
build.cmd
构建取决于 Visual Studio 的安装。要构建没有此依赖项的编译器,请使用:
build.cmd -noVisualStudio
完成后,在您选择的编辑器中打开FSharp.sln
或VisualFSharp.sln
。后一个解决方案更大,但包含用于 Visual Studio 的 F# 工具及其相关基础结构。
从命令行构建:
./build.sh
完成后,在您选择的编辑器中打开FSharp.sln
。
编译器文档是对 F# 编译器代码库做出任何更大贡献的必备阅读材料,并且包含学习视频、架构图和其他资源的链接。
相同的文档也作为 F# 编译器指南发布。它还包含 FSharp.Compiler.Service 组件的公共可搜索文档。
有关构建代码库的配置的更多详细信息,请参阅 DEVGUIDE.md。实际上,您只需要运行build.cmd
/ build.sh
。
有关此代码库中的各种测试套件以及如何单独运行它们的信息,请参阅 TESTGUIDE.md。
F# 文档是 F# 的主要文档。内容来源在这里。
F# 语言设计过程是该语言的基本设计过程,从建议到完成的 RFC。对于某些跨社区合作和可见性最有用的主题,还有工具 RFC。
F# 语言规范是对 F# 语言的深入描述。这对于理解 F# 编译器的某些行为以及编译器代码库中的某些规则至关重要。例如,此处指定了名称解析发生的顺序和方式,这极大地影响了名称解析中的代码的工作方式以及做出某些决策的原因。
即使您发现单个字符的拼写错误,我们也很乐意进行更改!尽管代码库对于初学者来说可能令人望而生畏,但我们和其他贡献者很乐意为您提供帮助。
不确定在哪里贡献?查看寻求帮助的精选问题列表。如果您想解决其中任何一个问题,请使用所选问题的评论部分来表达兴趣,并随时寻求初步指导。我们很乐意帮助解决悬而未决的问题,同时成功地公关解决该问题。
此存储库中的问题在修复复杂性方面可能存在很大差异。你开始了吗?我们也有一个“先好”的标签。
FSharp.Compiler.Service 43.7.400-预览版
< add key = " fsharp-prerelease " value = " https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet7/nuget/v3/index.json " />
FSharp.Compiler.Service 43.8.100-预览版
< add key = " fsharp-prerelease " value = " https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet8/nuget/v3/index.json " />
注意: FCS 和 FSharp.Core 的官方 NuGet 版本与 SDK 版本同步(有意 - 我们希望保持同步)。每次成功插入时,每晚都会将包发布到 Azure。
这些是正在使用的分支:
main
release/dev15.9
release/dev17.x
F# 语言和核心库的演变遵循跨越两个附加存储库的过程。流程如下:
该项目受 MIT 许可约束。该许可证的副本位于 License.txt 中。
该项目采用了贡献者契约行为准则来阐明我们社区的预期行为。您可以在 CODE_OF_CONDUCT 处阅读。
F# 软件基金会的成员受邀加入 FSSF Slack。您可以在#compiler
和#editor-support
频道中找到其他贡献者的支持。
此外,如果您有一般 F# 问题(包括有关此存储库的问题),您可以在 Twitter 上使用#fsharp
标签。您很可能会收到多个回复。
如果您对 F# 本身感到好奇,请查看以下链接: