Un fichier de signature F# (.fsi) est un fichier source spécialisé utilisé dans le langage de programmation F# pour définir l'interface publique d'un fichier d'implémentation correspondant (.fs). Il remplit une fonction similaire aux fichiers d'en-tête (header files) en C ou C++, agissant comme un contrat qui spécifie quels types, fonctions et modules sont visibles par les autres parties d'un programme. En utilisant un fichier de signature, les développeurs peuvent obtenir une meilleure encapsulation et une dissimulation d'informations plus efficace, car ils peuvent déclarer explicitement uniquement les membres qu'ils souhaitent exposer tout en gardant les détails d'implémentation internes privés. Cette séparation entre l'interface et l'implémentation peut également conduire à des temps de compilation plus rapides dans les grands projets, car le compilateur n'a besoin de réexaminer que le fichier de signature pour déterminer si les modifications apportées au fichier d'implémentation affectent d'autres modules. Les fichiers de signature sont essentiels pour créer des bibliothèques F# bien structurées et gérer des bases de code complexes où des limites claires entre les composants sont requises. Ils contiennent des déclarations de types, d'espaces de noms et de modules sans la logique réelle ou les corps de code, offrant ainsi une vue d'ensemble claire de l'API fournie par le module.