Um Arquivo de Assinatura F# (.fsi) é um arquivo de código-fonte especializado utilizado na linguagem de programação F# para definir a interface pública de um arquivo de implementação correspondente (.fs). Ele desempenha um papel semelhante aos arquivos de cabeçalho (header files) em C ou C++, atuando como um contrato que especifica quais tipos, funções e módulos são visíveis para outras partes de um programa. Ao utilizar um arquivo de assinatura, os desenvolvedores podem obter um melhor encapsulamento e ocultação de informações, pois podem declarar explicitamente apenas os membros que desejam expor, mantendo os detalhes da implementação interna privados. Essa separação entre interface e implementação também pode levar a tempos de compilação mais rápidos em grandes projetos, já que o compilador só precisa reexaminar o arquivo de assinatura para determinar se as alterações no arquivo de implementação afetam outros módulos. Os arquivos de assinatura são essenciais para criar bibliotecas F# bem estruturadas e gerenciar bases de código complexas onde são necessários limites claros entre os componentes. Eles contêm declarações de tipos, namespaces e módulos sem a lógica real ou corpos de código, fornecendo uma visão geral clara da API disponibilizada pelo módulo.