F# (pronunciado F Sharp en inglés) es un lenguaje de programación multiparadigma de código abierto,[1] para la plataforma .NET, que conjunta la programación funcional con las disciplinas imperativa y orientada a objetos.Es una variante del lenguaje de programación ML y es compatible con la implementación Objective Caml.Los tipos no necesitan ser explícitamente declarados por el programador; serán deducidos en proceso de compilación.Para una programación funcional, F# provee los tipos tuple, record, discriminated union, list y option.Un record es un tipo donde los datos son nombrados, por ejemplo: { Name:string; Age:int }.La palabra clave with es usada para crear una copia de un récord, por ejemplo: { r with Name="CD" }, el cual crea un nuevo récord copiando r y cambiando el valor del campo Name (asumiendo que el récord creado en el ejemplo anterior fue nombrado r).Pattern matching es también usado cuando se está accediendo a uniones discriminadas.[4] Este es usado, por ejemplo, cuando existen múltiples formas de matchear con un tipo.F# soporta una sintaxis general para la definición de composiciones llamado computation expressions.Por ejemplo: También, F# soporta acceso a todos los tipos y objetos del CLI como los definidos en: System.Collections.Generic.F# soporta programación asíncrona a través de asynchronous workflows.permite que el resto del bloque async pueda ser definido como un delegado y pasado como Callback (informática) de una operación asíncrona.Una definición etiquetada con el atributo [] puede también ser accedida de la forma quotation.[9] Por ejemplo: La combinación de type providers, consultas y programación funcional fuertemente tipado es conocido como information rich programming.Por ejemplo, el siguiente código define un agente y envía 2 mensajes: F# puede ser desarrollado con cualquier editor de texto.Con el servicio del lenguaje instalado, Visual Studio puede ser usado para crear proyectos de F# y el Visual Studio debugger usado para depurar código F#.MonoDevelop es un entorno de desarrollo integrado para Linux, Mac y Windows incluyendo soporte para una consola interactiva.