Lenguaje de programación FP

Lenguaje de programación FP

FP (abreviación de Functional Programming) es un lenguaje de programación creado por John Backus para apoyar la diseminación del paradigma de Programación a nivel funcional.

Contenido

Componentes del lenguaje

Valores

Las principales estructuras de datos del lenguaje son los valores de base y las secuencias:

  • Si x1,...,xn son valores, también lo es la secuenciax1,...,xn〉.

Estos valores se construyen a partir de cualquier conjunto de valores atómicos: booleanos, enteros, reales, caracteres, etc.

  • booleanos  : {T, F}
  • enteros  : {0,1,2,...,∞}
  • caracteres  : {'a', 'b', 'c',...}
  • símbolos  : {x, y,...}

El símbolo representa el valor indefinido. Las secuencias preservan el valor indefinido:

  •         〈x1,...,,...,xn〉 =

Funciones

Los programas en FP son funciones f tales que cada una hace corresponder un valor x en otro :

  • f:x representa el valor resultante de aplicar la función f a x.

Funcionales

Las funciones pueden estar predefinidas o ser definidas según las operaciones de construcción de programas o funcionales.

Algunas funciones tienen elemento neutro, tal es el caso del valor 0 para la suma, o 1 para la multiplicación. El funcional unit produce ese valor al ser aplicado a una función f que posea elemento neutro:

  •         unit + = 0
  •         unit × = 1
  •         unit foo = ⊥ si foo no posee elemento neutro.

Los principales funcionales de FP son:

  • constante :
            :y = x

para todo valor y (exceptuando el valor indefinido, , cuyo resultado es él mismo cualquiera sea la función aplicada).

  • composición f°g:
            f°g:x = f:(g:x)
  • construcción [f1,...fn]:
            [f1,...fn]:x = 〈 f1:x,...,fn:x
  • condición (h⇒f; g):
            (h⇒f; g):x = f:x si h:x = T,
            (h⇒f; g):x = g:x si h:x = F, y
            (h⇒f; g):x = en caso contrario.
  • aplicar a todos o map αf:
            αf:〈x1,...,xn〉 = 〈f:x1,...,f:xn
  • inserción a la izquierda /f:
            /f:〈x〉 = x,
            /f:〈x1,x2,...,xn〉 = f:〈x1,/f:〈x2,...,xn〉〉,
            /f:〈 〉 = unit f
  • inserción a la derecha \f:
            \f:〈x〉 = x,
            \f:〈x1,x2,...,xn〉 = f:〈\f:〈x1,...,xn-1〉,xn〉, y
            \f:〈 〉 = unit f

Recursión

Para introducir la recursión en el lenguaje se utilizan ecuaciones en donde la función que se define aparece tanto a izquierda como a derecha. La forma más sencilla es:

  •         fEf

en donde E'f es una expresión construida a partir de otras funciones y el símbolo f combinadas con los funcionales del lenguaje.

Primitivas

Por ejemplo, las funciones de selección, que se denotan en FP con los símbolos 1,2,... corresponden a la siguiente especificación:

  •         1:〈x1,...,xn〉 = x1
  •         i:〈x1,...,xn
                    = xi si 0 < i ≤ n
                    = ⊥ en caso contrario
Obtenido de "Lenguaje de programaci%C3%B3n FP"

Wikimedia foundation. 2010.

Mira otros diccionarios:

  • Lenguaje de programación C — Saltar a navegación, búsqueda C Paradigma: Imperativo (Procedural) Apareció en: 1972 Diseñado por: Dennis M. Ritchie Tipo de dato: Débil, Estático Implementaciones …   Wikipedia Español

  • Lenguaje de programación J — Saltar a navegación, búsqueda El lenguaje de programación J, diseñado por Kenneth Iverson y Roger Hui en los 90, es una síntesis de los lenguajes de programación APL (diseñado también por Iverson) y los lenguajes funcionales FP y FL creados por… …   Wikipedia Español

  • Lenguaje de programación Oz — Saltar a navegación, búsqueda Oz es un lenguaje de programación multi paradigma y lenguaje de programación esotérico. Oz fue originalmente desarrollado en el laboratorio de Programación de Sistemas en la Universidad de Saarland por Gert Smolka y… …   Wikipedia Español

  • Lenguaje de programación B — Saltar a navegación, búsqueda B Paradigma: imperativo (procedural) Apareció en: 1969 Diseñado por: Kenneth L. Thompson, Dennis M. Ritchie Tipo de dato: lenguaje sin tipos …   Wikipedia Español

  • Lenguaje de programación D — Saltar a navegación, búsqueda D Paradigma: multiparadigma: orientado a objetos, imperativo Apareció en: 1995 Diseñado por: Walter Bright Última versión: 1.050(estable) 2.035(inestable) (14 de octubre de 2009 …   Wikipedia Español

  • Lenguaje de programación bc — Saltar a navegación, búsqueda bc es un lenguaje de programación de cálculo numérico con precisión arbitraria, con una sintaxis similar a la del lenguaje de programación C. El lenguaje y su intérprete son una herramienta estandarizada de los… …   Wikipedia Español

  • Lenguaje de programación — Captura de la microcomputadora Commodore PET 32 mostrando un programa en el lenguaje de programación BASIC, bajo el emulador VICE en una distribución GNU/Linux. Un lenguaje de programación es un idioma artificial diseñado para expresar… …   Wikipedia Español

  • Lenguaje de programación — Un lenguaje de programación es una técnica estándar de comunicación que permite expresar las instrucciones que han de ser ejecutadas en una computadora. Consiste en un conjunto de reglas sintácticas y semánticas que definen un programa… …   Enciclopedia Universal

  • Lenguaje de programación B — B es un lenguaje de programación diseñado por Dennis Ritchie y Ken Thompson en los Laboratorios Bell, principalmente usado para aplicaciones no numéricas y programación de sistemas. Apareció por primera vez en 1969. Las primeras implementaciones… …   Enciclopedia Universal

  • Lenguaje de programación C — C es un lenguaje de programación creado en 1969 por Ken Thompson y Dennis M. Ritchie en los Laboratorios Bell basándose en los lenguajes BCPL y B. Al igual que sus dos predecesores, es un lenguaje orientado a la implementación de Sistemas… …   Enciclopedia Universal


Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”

We are using cookies for the best presentation of our site. Continuing to use this site, you agree with this.