Wat is het FS-bestandsformaat?
.fs is de bestandsextensie voor broncode van F#, een functioneel-georiënteerde, sterk getypeerde programmeertaal ontwikkeld door Don Syme bij Microsoft Research. F# richt zich op de .NET-runtime en compileert naar .NET Intermediate Language via de F#-compiler, fsc.
Een .fs-bestand is platte UTF-8-tekst die een geordende reeks module- of namespace-declaraties, open-importinstructies, typedefinities, let-bindingen en expressies bevat. Cruciaal is dat de volgorde belangrijk is in F#: de compiler verwerkt declaraties van boven naar beneden, en bestanden binnen een project moeten in het .fsproj-projectbestand in expliciete compilatievolgorde worden vermeld - in tegenstelling tot C# of Java, waar de declaratievolgorde binnen een project over het algemeen irrelevant is.
F# ondersteunt functionele programmeerconcepten (standaard onveranderlijke gegevens, pattern matching, discriminated unions, computation expressions) naast objectgeoriënteerde functies die zijn overgenomen van .NET. De taal is geëvolueerd van versie 1.0 (2005, Microsoft Research) naar F# 9.0 (2024).
Bijbehorende extensies zijn onder meer .fsi (F#-interface/signatuurbestanden, analoog aan C-headerbestanden) en .fsx (F#-scriptbestanden, uitgevoerd zonder expliciete compilatie via dotnet fsi). De Fable-compiler kan .fs-broncode transpileren naar JavaScript, waardoor browser- en Node.js-doelen mogelijk worden.
.fs-bestanden worden standaard ondersteund door Visual Studio 2022, JetBrains Rider en Visual Studio Code met de Ionide-extensie.
Beveiliging & veiligheid
RISICO: LOWPlatte tekst broncode; geen uitvoerbaar risico bij het bekijken. Risico ontstaat alleen als u niet-vertrouwde F#-code compileert en uitvoert.
Formaatdetails
in een notendop- BRKSYS FS (bestandssysteem-image) - Sommige emulator/OS-toolchains gebruiken .fs voor ruwe bestandssysteem-images; niet gerelateerd aan F#-broncode.
- Haskell-module (zeldzaam) - Af en toe verschijnt de .fs-extensie in oudere Haskell-codebases, maar .hs is de standaard; zeer zeldzaam.
Programma's die FS-bestanden openen
Technische details
diepe specificaties| Taal | F# - functioneel-georiënteerde, sterk getypeerde .NET-taal ontwikkeld door Don Syme bij Microsoft Research |
| Codering | UTF-8-tekst; BOM optioneel; Visual Studio gebruikt standaard UTF-8 zonder BOM |
| Compiler | `fsc` (F#-compiler); compileert `.fs`-bestanden naar .NET IL; aangeroepen via `dotnet build` in MSBuild-projecten |
| Compilatievolgorde | Bestanden moeten van boven naar beneden in `.fsproj` worden vermeld; volgorde is semantisch significant - voorwaartse verwijzingen zijn niet toegestaan |
| Taalversiebeheer | F#-taalversie ingesteld via de eigenschap `LangVersion` in `.fsproj`; de huidige versie is F# 9.0 (2024) |
| Paradigma | Functioneel-georiënteerd (standaard onveranderlijk, pattern matching, discriminated unions, computation expressions) met volledige OOP-ondersteuning |
| Typesysteem | Hindley-Milner type-inferentie; expliciete type-annotaties zijn optioneel in de meeste contexten |
| Modulesysteem | Top-level `module`- of `namespace`-declaraties; circulaire verwijzingen tussen bestanden zijn niet toegestaan |
| Bijbehorende extensies | `.fsi` (interface/signatuurbestand), `.fsx` (script), `.fsproj` (MSBuild-projectbestand) |
| Runtime-doelen | .NET 6+ op Windows, Linux, macOS; ook JavaScript via de Fable-transpiler |
| Scripting-modus | `.fsx`-bestanden draaien via `dotnet fsi` zonder expliciete compilatie; `.fs`-bestanden vereisen een project of directe `fsc`-aanroep |
| IDE-ondersteuning | Visual Studio 2022, Visual Studio Code met Ionide-extensie, JetBrains Rider |
| Uitgebracht | 2005 (F# 1.0, Microsoft Research); Visual Studio integration since 2010 (VS 2010) |
| Laatste versie | F# 9.0 (2024) |
| Open standaard | Ja · royaltyvrij |
| Specificatie | fsharp.org |
FS conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over FS-bestanden.