Você está convidado a contribuir com versões futuras do compilador F#, da biblioteca principal e das ferramentas. O desenvolvimento deste repositório pode ser feito em qualquer sistema operacional compatível com .NET.
Você também precisará do .NET SDK instalado aqui. A versão exata pode ser encontrada no arquivo global.json na raiz do repositório.
Construa a partir da linha de comando:
build.cmd
A compilação depende de uma instalação do Visual Studio. Para construir o compilador sem esta dependência, use:
build.cmd -noVisualStudio
Depois de terminar, abra FSharp.sln
ou VisualFSharp.sln
no editor de sua preferência. A última solução é maior, mas inclui as ferramentas F# para Visual Studio e sua infraestrutura associada.
Construa a partir da linha de comando:
./build.sh
Depois de terminar, abra FSharp.sln
no editor de sua preferência.
A documentação do compilador é uma leitura essencial para quaisquer contribuições maiores à base de código do compilador F# e contém links para vídeos de aprendizagem, diagramas de arquitetura e outros recursos.
Os mesmos documentos também são publicados como The F# Compiler Guide. Ele também contém os documentos públicos pesquisáveis para o componente FSharp.Compiler.Service.
Consulte DEVGUIDE.md para obter mais detalhes sobre configurações para construir a base de código. Na prática, você só precisa executar build.cmd
build.sh
.
Consulte TESTGUIDE.md para obter informações sobre os vários conjuntos de testes nesta base de código e como executá-los individualmente.
A documentação do F# é a documentação principal do F#. A fonte do conteúdo está aqui.
O processo de design da linguagem F# é o processo de design fundamental da linguagem, desde sugestões até RFCs concluídas. Existem também RFCs de ferramentas para alguns tópicos onde a cooperação e a visibilidade entre comunidades são mais úteis.
A especificação da linguagem F# é uma descrição detalhada da linguagem F#. Isso é essencial para compreender alguns comportamentos do compilador F# e algumas regras na base de código do compilador. Por exemplo, a ordem e a forma como a resolução de nomes acontece são especificadas aqui, o que tem um grande impacto no modo como o código em Resoluções de Nomes funciona e por que certas decisões são tomadas.
Mesmo se você encontrar um erro de digitação de um único caractere, ficaremos felizes em aceitar a alteração! Embora a base de código possa parecer assustadora para iniciantes, nós e outros colaboradores teremos prazer em ajudá-lo.
Não sabe onde contribuir? Veja a lista selecionada de problemas que pedem ajuda. Se você quiser abordar algum deles, use a seção de comentários do assunto escolhido para indicar interesse e fique à vontade para pedir orientação inicial. Ficaremos felizes em ajudar a resolver problemas pendentes e, ao mesmo tempo, fazer uma RP bem-sucedida abordando o problema.
Os problemas neste repositório podem ter grandes diferenças na complexidade de sua correção. Você está começando? Também temos um rótulo para boas primeiras edições.
FSharp.Compiler.Service 43.7.400-visualização
< add key = " fsharp-prerelease " value = " https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet7/nuget/v3/index.json " />
FSharp.Compiler.Service 43.8.100-visualização
< add key = " fsharp-prerelease " value = " https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet8/nuget/v3/index.json " />
NOTA: As versões oficiais do NuGet FCS e FSharp.Core são sincronizadas com as versões do SDK (de propósito - queremos estar sincronizados). Os pacotes noturnos liberados para o Azure alimentam cada inserção bem-sucedida.
Estes são os ramos em uso:
main
release/dev15.9
release/dev17.x
A evolução da linguagem F# e da biblioteca principal segue um processo que abrange dois repositórios adicionais. O processo é o seguinte:
Este projeto está sujeito à licença MIT. Uma cópia desta licença está em License.txt.
Este projeto adotou o código de conduta do Contributor Covenant para esclarecer o comportamento esperado em nossa comunidade. Você pode lê-lo em CODE_OF_CONDUCT.
Os membros da F# Software Foundation estão convidados para o FSSF Slack. Você pode encontrar suporte de outros colaboradores nos canais #compiler
e #editor-support
.
Além disso, você pode usar a tag #fsharp
no Twitter se tiver dúvidas gerais sobre F#, inclusive sobre este repositório. Provavelmente, você receberá várias respostas.
Se você estiver curioso sobre o F# em si, confira estes links: