Visual F#

F# es un lenguaje de programación que proporciona compatibilidad con la programación funcional así como con la programación convencional orientada a objetos e imperativa (de procedimiento). El producto Visual F# permite desarrollar aplicaciones en F# y extender otras aplicaciones de .NET Framework mediante código F#. F# es un miembro de primera clase de los lenguajes .NET Framework y conserva un gran parecido con la familia de lenguajes funcionales de ML.

Esta versión de Visual F# contiene la versión F# 3.1 del lenguaje.

Lenguaje multiparadigma

F# admite las construcciones de programación funcional, tales como:

  • Funciones como valores, lo que permite la manipulación flexible de las funciones. Para obtener más información, vea Funciones como valores de primera clase (F#).

  • Composición y canalización de funciones, lo que permite el encadenamiento de funciones para crear otras nuevas y simplificar la codificación de operaciones sucesivas con datos. Para obtener más información, vea Funciones (F#).

  • Inferencia de tipos, lo que reduce la necesidad de llamar explícitamente a los tipos, sin sacrificar la seguridad de tipos.

  • Generalización automática, lo que promueve la reutilización de código facilitando la escritura de código que funciona con diversos tipos diferentes sin ningún esfuerzo adicional.

  • Compatibilidad con la coincidencia de modelos, lo que simplifica el código condicional complejo, y las uniones discriminadas, que se optimizan para su uso con la coincidencia de modelos.

  • Tipos de colección para trabajar con datos inmutables, incluidos tipos de lista y secuencia.

  • Expresiones lambda, que son importantes para numerosas construcciones de programación funcional.

  • Aplicación parcial de argumentos de función, lo que permite crear implícitamente nuevas funciones a partir de funciones existentes. Para obtener más información, vea Funciones (F#).

  • Expresiones de código delimitadas, una característica que permite manipular las expresiones de F# mediante programación.

F# admite la programación orientada a objetos y las funciones de .NET Framework, como las siguientes:

  • El modelo de objetos de .NET Framework, incluidos objetos que tienen propiedades, métodos y eventos; polimorfismo o funciones virtuales; herencia; e interfaces.

  • Encapsulación de datos o separación de la interfaz pública de un tipo respecto de la implementación.

  • Sobrecarga de operadores, lo que funciona bien con genéricos y tipos primitivos integrados.

  • Extensiones de tipo, que permiten extender fácilmente un tipo existente sin la carga adicional de crear un nuevo tipo derivado.

  • Expresiones de objeto, que permiten definir implícitamente pequeños objetos en expresiones según sea necesario, en lugar de declarar un nuevo tipo y crear una instancia de un objeto.

  • Acceso a .NET Framework y a cualquier ensamblado de código administrado.

  • Acceso a código nativo a través de una invocación de plataforma.

Visual F# admite programación con amplio acceso a diferentes fuentes de información. Esta tecnología permite programar directamente en amplios espacios de datos y servicios que suelen dominar la programación empresarial y web en la actualidad, como bases de datos, servicios Web, fuentes de distribución de datos web y agentes de datos.

La programación con amplio acceso a diferentes fuentes de información en F# se centra en el código y se puede usar en scripts y proyectos. También permite especificar conexiones de bases de datos de SQL Server y OData directamente en el código, a la vez que ofrece tipos seguros con asistencia de IntelliSense. El mecanismo es extensible, lo que permite escribir o hacer referencia a nuevos proveedores de tecnologías de datos, código y servicios tales como SharePoint, ontologías web, Instrumental de administración de Windows (WMI), XML y otras fuentes de información. Técnicamente, la programación con amplio acceso a diferentes fuentes de información de F# incluye el mecanismo de proveedores de tipo de F#, expresiones de consulta de F# y un conjunto de proveedores de tipo integrados para programación de servicios Web, OData y bases de datos.

F# admite asimismo todas las construcciones comunes de la programación imperativa, tales como las construcciones de bifurcación y las construcciones en bucle.

Bibliotecas de F#

El producto Visual F# también incluye una biblioteca de F# con un gran número de funciones y tipos útiles. Incluye interfaces API para colecciones como listas, matrices, asignaciones, conjuntos y secuencias. La biblioteca de F# también admite la reflexión, los eventos y las E/S con formato.

Asimismo, la biblioteca de F# incluye compatibilidad para que los flujos de trabajo asincrónicos admitan cálculos en paralelo, además de mecanismos para la comunicación entre los flujos de trabajo en paralelo. Para obtener más información, vea Flujos de trabajo asincrónicos (F#), Control.Async (Clase de F#) y Control.MailboxProcessor<'Msg> (Clase de F#).

La biblioteca de F# principal es FSharp.Core.dll. Hay bibliotecas adicionales en F# PowerPack, que está disponible en el sitio web del Centro para desarrolladores de Microsoft F#.

Existen versiones compiladas por separado de la biblioteca principal de F# compatibles con distintas versiones de .NET Framework. La versión 2.0 admite .NET Framework 2.0, 3.0 y 3.5. La versión 4.0 admite .NET Framework 4 y versiones posteriores de .NET Framework. Además, hay disponibles para descarga versiones de la biblioteca principal de F# para Silverlight.

Scripting interactivo

Visual F# proporciona una ventana interactiva que está integrada en el entorno de desarrollo de Visual Studio. Esta ventana permite escribir código de F#, además de compilarlo y ejecutarlo inmediatamente. Esto permite al usuario crear fácilmente prototipos de construcciones de código y probar el código mientras lo escribe. En la ventana interactiva se ejecuta la herramienta interactiva de F#, fsi.exe, que también se puede ejecutar desde la línea de comandos. Esta característica permite usar F# como un lenguaje de scripting. Para obtener más información, vea Referencia de F# Interactive (fsi.exe).

Integración con Visual Studio

F# se integra con Visual Studio y tiene compatibilidad con:

Temas relacionados

Título

Descripción

Portal de desarrollo de Visual F#

Constituye una puerta de enlace a un amplio abanico de información sobre F#.

Usar Visual Studio para escribir programas de F#

Proporciona información sobre el uso de F# en el entorno de desarrollo integrado (IDE), que incluidos la configuración de proyectos e IntelliSense.

Referencia del lenguaje F#

Proporciona información de referencia sobre el lenguaje F#, incluida información sobre las palabras clave, los símbolos y los operadores.

Referencia de la biblioteca básica de F#

Proporciona información de referencia sobre la biblioteca básica de F#, FSharp.Core.dll.

Referencia del compilador de F# (fsc.exe)

Proporciona información sobre el compilador de F#, fsc.exe, incluidas las opciones del compilador.

Referencia de F# Interactive (fsi.exe)

Proporciona información sobre F# Interactive, fsi.exe, incluida información sobre las opciones de la línea de comandos y los mensajes de diagnóstico que son específicos de F# Interactive.

Tutoriales y ejemplos de Visual F#

Proporciona vínculos a ejemplos y tutoriales de F#.

Vea también

Conceptos

Visual Studio 2013