Файл сигнатуры F# (.fsi) — это специализированный исходный файл, используемый в языке программирования F# для определения публичного интерфейса соответствующего файла реализации (.fs). Он выполняет функцию, аналогичную заголовочным файлам в C или C++, выступая в качестве контракта, который указывает, какие типы, функции и модули видны другим частям программы. Используя файл сигнатуры, разработчики могут добиться лучшей инкапсуляции и сокрытия информации, поскольку они могут явно объявлять только те члены, которые хотят сделать доступными, сохраняя при этом внутренние детали реализации приватными. Такое разделение интерфейса и реализации также может привести к ускорению времени компиляции в больших проектах, так как компилятору достаточно проанализировать файл сигнатуры, чтобы определить, влияют ли изменения в файле реализации на другие модули. Файлы сигнатур необходимы для создания хорошо структурированных библиотек F# и управления сложными кодовыми базами, где требуются четкие границы между компонентами. Они содержат объявления типов, пространств имен и модулей без фактической логики или тел кода, предоставляя чистый обзор API, предоставляемого модулем.