Top Qs
Línea de tiempo
Chat
Contexto
FP (lenguaje de programación)
lenguaje de programación De Wikipedia, la enciclopedia libre
Remove ads
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.
Componentes del lenguaje
Resumir
Contexto
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 secuencia ⟨x1,...,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 x̄:
x̄: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:
- f ≡ Ef
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
Remove ads
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads