dotnet/fsharp : le compilateur F#, la bibliothèque principale et les outils d'éditeur
Le compilateur F#, la bibliothèque principale F#, le service de langage F# et l'intégration des outils F# pour Visual Studio.
En bref
- De quoi s’agit-il ?
- Un regard fondé sur les sources sur le dépôt qui héberge le compilateur F#, la bibliothèque principale, le service de langage et l'intégration des outils Visual Studio, y compris les étapes de construction, les chemins de contribution, les branches et le processus d'évolution du langage.
- À qui s’adresse-t-il ?
- Le dépôt est le lieu d'implémentation des changements du langage F#, le travail de conception se déroulant dans des dépôts distincts de suggestions et de RFC, et il repose sur la participation des contributeurs pour tout, des corrections de fautes de frappe aux nouvelles fonctionnalités.
- Puis-je l’utiliser commercialement ?
- Oui. MIT est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
- Est-il encore maintenu ?
- Oui. Le dépôt a reçu de nouveaux commits au cours des dernières 24 heures.
- En quel langage est-il écrit ?
- Principalement F#, d’après les statistiques de langage de GitHub.
Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 15 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.
ANALYSE OPEN SOURCE APPROFONDIE
Le compilateur F#, la bibliothèque principale et les outils d'éditeur
Ce dépôt contient le compilateur F#, la bibliothèque principale F#, le service de langage F# et l'intégration des outils F# pour Visual Studio, comme indiqué dans la première ligne du README. Le projet est développé sur tout système d'exploitation pris en charge par .NET, et les contributeurs doivent installer le SDK .NET ; la version exacte requise est enregistrée dans le fichier global.json à la racine du dépôt. Le README présente cela comme un endroit où vous êtes invité à contribuer aux futures versions du compilateur, de la bibliothèque principale et des outils.
Construction sous Windows, Linux et macOS
Sous Windows, la construction en ligne de commande est `build.cmd`. Cette construction dépend d'une installation de Visual Studio, mais vous pouvez contourner cette dépendance avec `build.cmd -noVisualStudio`. Après une construction réussie, vous pouvez ouvrir soit `FSharp.slnx` soit `VisualFSharp.slnx` ; ce dernier est plus grand et inclut également les outils Visual Studio et leur infrastructure associée. Sous Linux ou macOS, utilisez `./build.sh` en ligne de commande, puis ouvrez `FSharp.slnx`. Le README note qu'en pratique, vous n'avez besoin que d'exécuter le script de construction ; les détails de configuration supplémentaires se trouvent dans DEVGUIDE.md.
Documentation pour les contributeurs et la communauté F#
Le dépôt pointe vers plusieurs ressources documentaires. Pour les contributeurs, la documentation du compilateur située dans docs/index.md est une lecture essentielle pour les changements plus importants, et elle est également publiée sous forme de guide du compilateur F#, qui contient des documents publics consultables pour le composant FSharp.Compiler.Service. DEVGUIDE.md explique les configurations de construction, et TESTGUIDE.md décrit les différentes suites de tests et comment les exécuter individuellement. Pour la communauté F# plus large, le README renvoie à la documentation principale F# sur Microsoft Learn, au processus de conception du langage F# avec son dépôt de suggestions, et à la spécification du langage, qui est nécessaire pour comprendre la résolution des noms et d'autres comportements du compilateur.
Comment le langage et la bibliothèque principale évoluent
Le README décrit un processus en trois étapes pour les modifications du langage et de la bibliothèque principale. D'abord, les idées sont soumises et discutées dans le dépôt de suggestions du langage F#. Ensuite, les idées approuvées 'en principe' deviennent des RFC dans le dépôt fslang-design, où se déroulent les spécifications techniques et les discussions. Troisièmement, les implémentations et les tests des RFC approuvées sont soumis à ce dépôt. Cela signifie que le dépôt dotnet/fsharp est le lieu final des modifications de code, mais le travail de conception se fait ailleurs.
Branches et leurs rôles
Le dépôt utilise trois lignes de branches actives. `main` est le lieu où vont presque toutes les contributions ; il est construit, installé et utilisé dans la dernière version publique de Visual Studio, peut contenir des fonctionnalités F# mises à jour et sert à construire le VSIX nocturne. La branche `release/dev15.9` est une branche de maintenance à long terme pour Visual Studio 2017 mise à jour 15.9.x, sans maintenance prévue sauf si nécessaire. La branche `release/dev17.x` est la dernière branche de version pour une version ponctuelle particulière de Visual Studio ; elle intègre des fonctionnalités et des correctifs de main jusqu'à un point de branchement, puis reçoit des cherry-picks sélectifs, et elle est réintégrée dans main une fois la version correspondante de Visual Studio publiée.
Attentes en matière de contribution et canaux communautaires
Le README dit 'aucune contribution n'est trop petite' et accueille même les corrections de fautes de frappe d'un seul caractère. Il pointe vers une liste organisée de problèmes demandant de l'aide et un label pour les premiers problèmes adaptés, et demande aux contributeurs d'indiquer leur intérêt dans les commentaires du problème choisi avant de s'y attaquer. Pour le support, les membres de la F# Software Foundation sont invités au Slack FSSF, avec des canaux dédiés `#compiler` et `#editor-support`. Il y a aussi un tag `#fsharp` sur Twitter pour les questions générales, et le README dit que vous obtiendrez probablement plusieurs réponses.
Licence et code de conduite
Le README déclare que le projet est soumis à la licence MIT et qu'une copie se trouve dans License.txt. Les métadonnées du dépôt signalent également une licence MIT. Cependant, l'extrait de licence fourni pour cet article note seulement qu'aucun fichier de licence n'a été trouvé à un chemin courant, donc les termes d'octroi réels ne sont pas disponibles ici. Le README note également que le projet a adopté le code de conduite Contributor Covenant, disponible dans CODE_OF_CONDUCT.md.
Conclusion éditoriale
Le dépôt est le lieu d'implémentation des changements du langage F#, le travail de conception se déroulant dans des dépôts distincts de suggestions et de RFC, et il repose sur la participation des contributeurs pour tout, des corrections de fautes de frappe aux nouvelles fonctionnalités.
Notes de la communauté