Un file di firma F# (.fsi) è un file sorgente specializzato utilizzato nel linguaggio di programmazione F# per definire l'interfaccia pubblica di un corrispondente file di implementazione (.fs). Svolge una funzione simile ai file header in C o C++, agendo come un contratto che specifica quali tipi, funzioni e moduli sono visibili alle altre parti di un programma. Utilizzando un file di firma, gli sviluppatori possono ottenere un migliore incapsulamento e occultamento delle informazioni, poiché possono dichiarare esplicitamente solo i membri che desiderano esporre, mantenendo privati i dettagli dell'implementazione interna. Questa separazione tra interfaccia e implementazione può anche portare a tempi di compilazione più rapidi in progetti di grandi dimensioni, poiché il compilatore deve solo riesaminare il file di firma per determinare se le modifiche nel file di implementazione influiscono su altri moduli. I file di firma sono essenziali per creare librerie F# ben strutturate e per gestire basi di codice complesse in cui sono richiesti confini chiari tra i componenti. Contengono dichiarazioni di tipi, namespace e moduli senza la logica effettiva o i corpi del codice, fornendo una panoramica chiara dell'API fornita dal modulo.