Visual F#
F# é uma linguagem de programação que oferece suporte à programação funcional, além da programação imperativa e orientada a objeto (procedural) tradicional. O produto Visual F# oferece suporte ao desenvolvimento de aplicativos em F# e extensão de outros aplicativos do .NET Framework usando código F#. F# é membro de primeira classe das linguagens .NET Framework e mantém uma forte semelhança com a família ML de linguagens funcionais.
Esta versão do Visual F# contém a versão F# 3.1 da linguagem.
Linguagem com vários paradigmas
F# oferece suporte a constructos de programação funcional como:
Funções como valores que permite a manipulação flexível de funções. Para obter mais informações, consulte Funções como valores de primeira classe (F#).
Pipelining e composição de função que permite combinar funções para criar novas funções e simplificar a codificação de operações sucessivas nos dados. Para obter mais informações, consulte Funções (F#).
Inferência de tipos que reduz a necessidade de chamar tipos explicitamente sem que seja necessário sacrificar a segurança dos tipos.
Generalização automática que promove a reutilização de código ao facilitar escrever código que funcione com vários tipos diferentes sem nenhum esforço adicional.
Suporte à Correspondência de padrões que simplifica código condicional complexo e uniões discriminadas que são otimizadas para uso com correspondência de padrões.
Tipos de coleção para trabalhar com dados imutáveis, incluindo tipos list e sequence.
Expressões lambda que são importantes para vários constructos de programação funcional.
Aplicativo parcial de argumentos de função que permite criar implicitamente novas funções a partir das já existentes. Para obter mais informações, consulte Funções (F#).
Cotações de código, um recurso que permite manipular programaticamente expressões em F#.
F# oferece suporte à programação orientada a objeto e a recursos do .NET Framework como:
O modelo de objeto do .NET Framework, incluindo objetos que contêm propriedades, métodos e eventos; polimorfismo ou funções virtuais; herança; e interfaces.
Encapsulamento de dados, ou separação da interface pública de um tipo da implementação.
Sobrecarga de operador que funciona bem com tipos primitivos genéricos e internos.
Extensões de tipo que permitem estender facilmente um tipo existente sem sobrecarga adicional para criar um novo tipo derivado.
Expressões de objetos que permitem que você defina objetos pequenos implicitamente em expressões conforme o necessário em vez de declarar um novo tipo e instanciar um objeto.
Acesso ao .NET Framework e a qualquer assembly de código gerenciado.
Acesso ao código nativo através de invocação de plataforma.
O Visual F# oferece suporte à programação rica em informações. Essa tecnologia permite que você programe diretamente com base em ricos espaços de dados e serviços que frequentemente dominam a programação corporativa e a Web como bancos de dados, serviços Web, feeds de dados da Web e data brokers.
A programação rica em informações do F# é focada em código e pode ser usada em scripts e projetos. Ela também permite que você especifique conexões de banco de dados OData e SQL Server diretamente em seu código, enquanto oferece tipos fortes com a assistência do IntelliSense. O mecanismo é extensível, permitindo que você escreva ou referencie novos provedores de dados, código e tecnologias de serviços como SharePoint, ontologias da Web, Instrumentação de Gerenciamento do Windows (WMI), XML e outras fontes de informações. Tecnicamente, a programação rica em informações do F# inclui o mecanismo Provedores de Tipos F#, Expressões de Consultas F# e um conjunto de provedores de tipos internos para banco de dados, OData e programação de serviços Web.
F# também oferece suporte a todos os constructos de programação imperativos comuns como constructos de ramificação e loop.
Bibliotecas F#
O produto Visual F# também inclui uma biblioteca F# com várias funções e tipos úteis. Isso inclui APIs para coleções como listas, matrizes, mapas, conjuntos e sequências. A biblioteca F# também oferece suporte a reflexão, eventos e E/S formatada.
Além de isso, a biblioteca F# inclui suporte a fluxos de trabalho assíncronos para suporte a computações paralelas e mecanismos para comunicação entre fluxos de trabalho paralelos. Para obter mais informações, consulte Fluxos de trabalho assíncronos (F#), Classe Control.Async (F#) e Classe Control.MailboxProcessor<'Msg> (F#).
A biblioteca F# principal é FSharp.Core.dll. Bibliotecas adicionais estão disponíveis no F# PowerPack, disponível no site Centro de Desenvolvedores do Microsoft F#.
Há versões compiladas separadamente da biblioteca principal F# que oferecem suporte a diferentes versões do .NET Framework. A versão 2.0 oferece suporte ao .NET Framework 2.0, 3.0 e 3.5 e a versão 4.0 oferece suporte ao .NET Framework 4 e versões posteriores do .NET Framework. Além disso, versões da biblioteca principal F# para o Silverlight estão disponíveis para download.
Script interativo
O Visual F# oferece uma janela interativa que está integrada ao ambiente de desenvolvimento do Visual Studio. Essa janela permite que você insira código F# e que ele seja compilado e executado imediatamente. Isso permite que você crie protótipos facilmente de constructos e teste o seu código enquanto o escreve. A janela interativa executa a ferramenta interativa do F#, fsi.exe, que você também pode executar da linha de comando. Esse recurso permite que o F# seja usado como uma linguagem de script. Para obter mais informações, consulte Referência do F# Interativo (fsi.exe).
Integração com o Visual Studio
O F# está integrado ao Visual Studio e oferece suporte a:
Projetos, incluindo modelos para tipos de projeto comuns. Para obter mais informações, consulte Usando o Visual Studio para escrever programas em F# e Configurando projetos (F#).
IntelliSense. Para obter mais informações, consulte Usando IntelliSense.
Depuração. Para obter mais informações, consulte Depurando no Visual Studio.
Para obter mais informações, consulte Recursos do ambiente de desenvolvimento em F#.
Tópicos relacionados
Título |
Descrição |
---|---|
Um gateway para várias informações sobre F#. |
|
Fornece informações sobre o uso do F# no Ambiente de Desenvolvimento Integrado (IDE), incluindo configurações de projeto e IntelliSense. |
|
Fornece informações de referência sobre a linguagem F#, incluindo informações sobre palavras-chaves, símbolos e operadores. |
|
Fornece informações de referência sobre a biblioteca F# principal, FSharp.Core.dll. |
|
Fornece informações sobre o compilador F#, fsc.exe, incluindo informações sobre opções do compilador. |
|
Fornece informações sobre F# interativo, fsi.exe, incluindo informações sobre as opções de linha de comando e mensagens de diagnóstico que são específicas ao F# interativo. |
|
Fornece links para exemplos de F# e guias passo a passo. |