Lenguaje de programación FP

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”