FP (lenguaje de programación)


FP (abreviatura de programación funcional ) [2] es un lenguaje de programación creado por John Backus para admitir el paradigma de programación a nivel de función [2] . Permite construir programas a partir de un conjunto de primitivas generalmente útiles y evitar variables nombradas (un estilo también llamado programación tácita o "sin puntos"). Fue fuertemente influenciado por APL , que fue desarrollado por Kenneth E. Iverson a principios de la década de 1960. [3]

El lenguaje FP se introdujo en el documento del Premio Turing de 1977 de Backus , "¿Se puede liberar la programación del estilo von Neumann?", Subtitulado "un estilo funcional y su álgebra de programas". El documento despertó el interés en la investigación de la programación funcional, [4] que finalmente condujo a lenguajes funcionales modernos (que se basan en gran medida en el paradigma del cálculo lambda ), y no en el paradigma de nivel de función que Backus esperaba. En su artículo del premio Turing, Backus describió cómo el estilo FP es diferente:

Un sistema FP se basa en el uso de un conjunto fijo de formas combinadas llamadas formas funcionales. Estos, además de definiciones simples, son los únicos medios para construir nuevas funciones a partir de las existentes; no utilizan variables ni reglas de sustitución y se convierten en operaciones de un álgebra de programas asociada. Todas las funciones de un sistema FP son de un tipo: asignan objetos a objetos y siempre toman un solo argumento. [2]

FP en sí nunca encontró mucho uso fuera de la academia. [5] En la década de 1980, Backus creó un lenguaje sucesor, FL , que era un proyecto interno de IBM Research.

Los valores que los programas de FP asignan entre sí comprenden un conjunto que se cierra bajo la formación de secuencias :

Las funciones son primitivas (es decir, proporcionadas con el entorno FP) o se construyen a partir de las primitivas mediante operaciones de formación de programas (también llamadas funcionales ).