Приглашаем вас внести свой вклад в будущие выпуски компилятора F#, основной библиотеки и инструментов. Разработка этого репозитория может осуществляться на любой ОС, поддерживаемой .NET.
Вам также потребуется установить .NET SDK отсюда, точную версию можно найти в файле global.json в корне репозитория.
Сборка из командной строки:
build.cmd
Сборка зависит от установки Visual Studio. Чтобы построить компилятор без этой зависимости, используйте:
build.cmd -noVisualStudio
После завершения откройте FSharp.sln
или VisualFSharp.sln
в выбранном вами редакторе. Последнее решение больше, но включает в себя инструменты F# для Visual Studio и связанную с ней инфраструктуру.
Сборка из командной строки:
./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# и некоторых правил в кодовой базе компилятора. Например, здесь указан порядок и способ разрешения имен, что сильно влияет на то, как работает код в разделе «Разрешение имен» и почему принимаются определенные решения.
Даже если вы обнаружите односимвольную опечатку, мы будем рады внести изменения! Хотя кодовая база может показаться сложной для новичков, мы и другие участники будем рады помочь вам в этом.
Не знаете, куда внести свой вклад? Посмотрите на тщательно подобранный список проблем, требующих помощи. Если вы хотите заняться каким-либо из этих вопросов, используйте раздел комментариев к выбранной проблеме, чтобы указать на интерес, и не стесняйтесь спрашивать начальные рекомендации. Мы рады помочь в решении нерешенных вопросов и провести успешный PR по решению этой проблемы.
Проблемы в этом репозитории могут сильно различаться по сложности их устранения. Вы начинаете? У нас также есть ярлык для хороших первых выпусков.
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 " />
ПРИМЕЧАНИЕ. Официальные выпуски NuGet FCS и FSharp.Core синхронизируются с выпусками SDK (намеренно — мы хотим синхронизироваться). Ночные пакеты выпускаются в каналы Azure при каждой успешной вставке.
Используемые ветки:
main
release/dev15.9
release/dev17.x
Эволюция языка F# и основной библиотеки следует процессу, охватывающему два дополнительных репозитория. Процесс выглядит следующим образом:
На этот проект распространяется лицензия MIT. Копия этой лицензии находится в License.txt.
В этом проекте принят Кодекс поведения участников, чтобы прояснить ожидаемое поведение в нашем сообществе. Вы можете прочитать его по адресу CODE_OF_CONDUCT.
Члены F# Software Foundation приглашаются в FSSF Slack. Вы можете найти поддержку от других участников на каналах поддержки #compiler
и #editor-support
.
Кроме того, вы можете использовать тег #fsharp
в Твиттере, если у вас есть общие вопросы по F#, в том числе по поводу этого репозитория. Скорее всего, вы получите несколько ответов.
Если вам интересно узнать о самом F#, посетите эти ссылки: