Vous êtes invité à contribuer aux futures versions du compilateur F#, de la bibliothèque principale et des outils. Le développement de ce référentiel peut être effectué sur n'importe quel système d'exploitation pris en charge par .NET.
Vous aurez également besoin d'installer le SDK .NET à partir d'ici, la version exacte peut être trouvée dans le fichier global.json à la racine du référentiel.
Construisez à partir de la ligne de commande :
build.cmd
La build dépend d'une installation de Visual Studio. Pour construire le compilateur sans cette dépendance, utilisez :
build.cmd -noVisualStudio
Une fois l'opération terminée, ouvrez FSharp.sln
ou VisualFSharp.sln
dans l'éditeur de votre choix. Cette dernière solution est plus volumineuse mais inclut les outils F# pour Visual Studio et son infrastructure associée.
Construisez à partir de la ligne de commande :
./build.sh
Une fois terminé, ouvrez FSharp.sln
dans l'éditeur de votre choix.
La documentation du compilateur est une lecture essentielle pour toute contribution plus importante à la base de code du compilateur F# et contient des liens vers des vidéos d'apprentissage, des diagrammes d'architecture et d'autres ressources.
Les mêmes documents sont également publiés sous le nom de The F# Compiler Guide. Il contient également les documents publics consultables pour le composant FSharp.Compiler.Service.
Voir DEVGUIDE.md pour plus de détails sur les configurations de création de la base de code. En pratique, il vous suffit d'exécuter build.cmd
/ build.sh
.
Voir TESTGUIDE.md pour plus d'informations sur les différentes suites de tests de cette base de code et sur la manière de les exécuter individuellement.
La documentation F# est la documentation principale pour F#. La source du contenu est ici.
Le processus de conception du langage F# est le processus de conception fondamental du langage, des suggestions aux RFC complétées. Il existe également des RFC d'outils pour certains sujets où la coopération et la visibilité intercommunautaires sont les plus utiles.
La spécification du langage F# est une description détaillée du langage F#. Ceci est essentiel pour comprendre certains comportements du compilateur F# et certaines règles de la base de code du compilateur. Par exemple, l'ordre et la manière dont la résolution de noms se produit sont spécifiés ici, ce qui a un impact considérable sur le fonctionnement du code dans les résolutions de noms et sur la raison pour laquelle certaines décisions sont prises.
Même si vous trouvez une faute de frappe sur un seul caractère, nous accepterons volontiers le changement ! Bien que la base de code puisse sembler intimidante pour les débutants, nous et d'autres contributeurs serons heureux de vous aider.
Vous ne savez pas où contribuer ? Consultez la liste organisée des problèmes demandant de l’aide. Si vous souhaitez aborder l'un de ces problèmes, utilisez la section commentaires du numéro choisi pour manifester votre intérêt et n'hésitez pas à demander des conseils initiaux. Nous sommes heureux de vous aider à résoudre les problèmes en suspens tout en réalisant un PR réussi résolvant le problème.
Les problèmes présents dans ce référentiel peuvent présenter de grandes différences dans la complexité de leur résolution. Vous commencez ? Nous avons également un label pour les bons premiers numéros.
FSharp.Compiler.Service 43.7.400-aperçu
< add key = " fsharp-prerelease " value = " https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet7/nuget/v3/index.json " />
FSharp.Compiler.Service 43.8.100-aperçu
< add key = " fsharp-prerelease " value = " https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet8/nuget/v3/index.json " />
REMARQUE : les versions officielles NuGet de FCS et FSharp.Core sont synchronisées avec les versions du SDK (exprès : nous voulons être synchronisés). Les packages sont publiés tous les soirs sur les flux Azure à chaque insertion réussie.
Voici les branches utilisées :
main
release/dev15.9
release/dev17.x
L'évolution du langage F# et de la bibliothèque principale suit un processus couvrant deux référentiels supplémentaires. Le processus est le suivant :
Ce projet est soumis à la Licence MIT. Une copie de cette licence se trouve dans License.txt.
Ce projet a adopté le code de conduite Contributor Covenant pour clarifier le comportement attendu dans notre communauté. Vous pouvez le lire sur CODE_OF_CONDUCT.
Les membres de la F# Software Foundation sont invités au FSSF Slack. Vous pouvez trouver l'aide d'autres contributeurs dans les canaux #compiler
et #editor-support
.
De plus, vous pouvez utiliser la balise #fsharp
sur Twitter si vous avez des questions générales sur F#, notamment sur ce référentiel. Il y a de fortes chances que vous obteniez plusieurs réponses.
Si vous êtes curieux de connaître F# lui-même, consultez ces liens :