Che cos'è il formato di file FS?
.fs è l'estensione del file sorgente per F#, un linguaggio di programmazione fortemente tipizzato e orientato al paradigma funzionale, sviluppato da Don Syme presso Microsoft Research. F# punta al runtime .NET e compila nel linguaggio intermedio .NET tramite il compilatore F#, fsc.
Un file .fs è un testo semplice in UTF-8 contenente una sequenza ordinata di dichiarazioni module o namespace, istruzioni di importazione open, definizioni di tipi, binding let ed espressioni. Fondamentalmente, l'ordine conta in F#: il compilatore elabora le dichiarazioni dall'alto verso il basso e i file all'interno di un progetto devono essere elencati nel file di progetto .fsproj in un ordine di compilazione esplicito - a differenza di C# o Java, dove l'ordine di dichiarazione all'interno del progetto è generalmente irrilevante.
F# supporta idiomi di programmazione funzionale (dati immutabili per impostazione predefinita, pattern matching, unioni discriminate, espressioni di computazione) insieme a funzionalità orientate agli oggetti ereditate da .NET. Il linguaggio si è evoluto dalla versione 1.0 (2005, Microsoft Research) alla versione F# 9.0 (2024).
Le estensioni correlate includono .fsi (file di interfaccia/firma F#, analoghi ai file header C) e .fsx (file script F#, eseguiti senza compilazione esplicita tramite dotnet fsi). Il compilatore Fable può trasporre il sorgente .fs in JavaScript, consentendo il targeting di browser e Node.js.
I file .fs sono supportati nativamente da Visual Studio 2022, JetBrains Rider e Visual Studio Code con l'estensione Ionide.
Sicurezza e incolumità
RISCHIO: LOWCodice sorgente in testo semplice; nessun rischio eseguibile durante la visualizzazione. Il rischio sorge solo se si compila e si esegue codice F# non attendibile.
Dettagli del formato
in sintesi- BRKSYS FS (immagine file-system) - Alcune toolchain di emulatori/OS usano .fs per immagini raw del filesystem; non correlato al sorgente F#.
- Modulo Haskell (raro) - Occasionalmente il suffisso .fs appare in vecchie codebase Haskell, ma .hs è lo standard; molto raro.
Programmi che aprono file FS
Dettagli tecnici
specifiche approfondite| Linguaggio | F# - linguaggio .NET fortemente tipizzato e orientato al funzionale, sviluppato da Don Syme presso Microsoft Research |
| Codifica | Testo UTF-8; BOM opzionale; Visual Studio utilizza come predefinito UTF-8 senza BOM |
| Compilatore | `fsc` (compilatore F#); compila i file `.fs` in .NET IL; invocato tramite `dotnet build` nei progetti MSBuild |
| Ordine di compilazione | I file devono essere elencati in `.fsproj` dall'alto verso il basso; l'ordine è semanticamente significativo - i riferimenti in avanti non sono consentiti |
| Versionamento del linguaggio | Versione del linguaggio F# impostata tramite la proprietà `LangVersion` in `.fsproj`; l'attuale è F# 9.0 (2024) |
| Paradigma | Orientato al funzionale (immutabile per impostazione predefinita, pattern matching, unioni discriminate, espressioni di computazione) con supporto OOP completo |
| Sistema di tipi | Inferenza dei tipi Hindley-Milner; annotazioni esplicite dei tipi opzionali nella maggior parte dei contesti |
| Sistema di moduli | Dichiarazioni `module` o `namespace` di primo livello; i riferimenti circolari tra i file non sono consentiti |
| Estensioni correlate | `.fsi` (file di interfaccia/firma), `.fsx` (script), `.fsproj` (file di progetto MSBuild) |
| Target di runtime | .NET 6+ su Windows, Linux, macOS; anche JavaScript tramite il transpiler Fable |
| Modalità scripting | I file `.fsx` vengono eseguiti tramite `dotnet fsi` senza compilazione esplicita; i file `.fs` richiedono un progetto o l'invocazione diretta di `fsc` |
| Supporto IDE | Visual Studio 2022, Visual Studio Code con estensione Ionide, JetBrains Rider |
| Rilasciato | 2005 (F# 1.0, Microsoft Research); Visual Studio integration since 2010 (VS 2010) |
| Ultima versione | F# 9.0 (2024) |
| Standard aperto | Sì · royalty-free |
| Specifica | fsharp.org |
Conversioni FS
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file FS.