O que é o formato de ficheiro FS?
.fs é a extensão de arquivo de código-fonte para F#, uma linguagem de programação fortemente tipada e focada em funcional desenvolvida por Don Syme na Microsoft Research. O F# tem como alvo o runtime .NET e é compilado para a Linguagem Intermediária .NET através do compilador F#, fsc.
Um arquivo .fs é texto simples em UTF-8 contendo uma sequência ordenada de declarações de module ou namespace, instruções de importação open, definições de tipo, vinculações let e expressões. Crucialmente, a ordem importa no F#: o compilador processa as declarações de cima para baixo, e os arquivos dentro de um projeto devem ser listados no arquivo de projeto .fsproj na ordem explícita de compilação - ao contrário de C# ou Java, onde a ordem de declaração dentro do projeto é geralmente irrelevante.
O F# suporta idiomas de programação funcional (dados imutáveis por padrão, correspondência de padrões, uniões discriminadas, expressões de computação) juntamente com recursos orientados a objetos herdados do .NET. A linguagem evoluiu da versão 1.0 (2005, Microsoft Research) para o F# 9.0 (2024).
Extensões complementares incluem .fsi (arquivos de interface/assinatura F#, análogos aos arquivos de cabeçalho C) e .fsx (arquivos de script F#, executados sem compilação explícita via dotnet fsi). O compilador Fable pode transpilar o código-fonte .fs para JavaScript, permitindo alvos de navegador e Node.js.
Arquivos .fs são suportados nativamente pelo Visual Studio 2022, JetBrains Rider e Visual Studio Code com a extensão Ionide.
Segurança e proteção
RISCO: LOWCódigo-fonte em texto simples; sem risco executável ao ser visualizado. O risco surge apenas se você compilar e executar código F# não confiável.
Detalhes do formato
em resumo- BRKSYS FS (imagem de sistema de arquivos) - Algumas cadeias de ferramentas de emulador/SO usam .fs para imagens brutas de sistema de arquivos; não relacionado ao código-fonte F#.
- Módulo Haskell (raro) - Ocasionalmente, o sufixo .fs aparece em bases de código Haskell mais antigas, mas .hs é o padrão; muito raro.
Programas que abrem arquivos FS
Detalhes técnicos
especificação profunda| Linguagem | F# - linguagem .NET fortemente tipada e focada em funcional desenvolvida por Don Syme na Microsoft Research |
| Codificação | Texto UTF-8; BOM opcional; o Visual Studio define como padrão UTF-8 sem BOM |
| Compilador | `fsc` (compilador F#); compila arquivos `.fs` para .NET IL; invocado via `dotnet build` em projetos MSBuild |
| Ordem de compilação | Os arquivos devem ser listados no `.fsproj` de cima para baixo; a ordem é semanticamente significativa - referências antecipadas não são permitidas |
| Versão da linguagem | Versão da linguagem F# definida via propriedade `LangVersion` no `.fsproj`; a atual é F# 9.0 (2024) |
| Paradigma | Focado em funcional (imutável por padrão, correspondência de padrões, uniões discriminadas, expressões de computação) com suporte total a POO |
| Sistema de tipos | Inferência de tipos Hindley-Milner; anotações de tipo explícitas são opcionais na maioria dos contextos |
| Sistema de módulos | Declarações de `module` ou `namespace` de nível superior; referências circulares entre arquivos não são permitidas |
| Extensões complementares | `.fsi` (arquivo de interface/assinatura), `.fsx` (script), `.fsproj` (arquivo de projeto MSBuild) |
| Alvos de runtime | .NET 6+ no Windows, Linux, macOS; também JavaScript via o transpilador Fable |
| Modo de script | Arquivos `.fsx` rodam via `dotnet fsi` sem compilação explícita; arquivos `.fs` exigem um projeto ou invocação direta do `fsc` |
| Suporte a IDE | Visual Studio 2022, Visual Studio Code com extensão Ionide, JetBrains Rider |
| Lançado | 2005 (F# 1.0, Microsoft Research); Visual Studio integration since 2010 (VS 2010) |
| Versão mais recente | F# 9.0 (2024) |
| Padrão aberto | Sim · livre de royalties |
| Especificação | fsharp.org |
Conversões de FS
Perguntas e Respostas da Comunidade
perguntado por usuáriosAinda não há perguntas - seja o primeiro a perguntar sobre arquivos FS.