我們邀請您為 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# 本身感到好奇,請查看以下連結: