Programación aplicativa

La programación aplicativa  es un tipo de programación declarativa en la que escribir un programa consiste en la aplicación sistemática de un objeto a otro. El resultado de tal aplicación es de nuevo un objeto que puede participar en aplicaciones tanto como función como argumento , y así sucesivamente. Esto hace que el registro del programa sea matemáticamente claro. El hecho de que una función sea denotada por una expresión indica la posibilidad de utilizar funciones de valor ( objetos de función  ) en pie de igualdad con otros objetos que pueden pasarse como argumentos o devolverse como resultado del cálculo de otras funciones.

Los modelos de programación aplicativa generalmente se basan en lógica combinatoria o cálculo λ . En lógica combinatoria, el único metaoperador es la aplicación, que asegura la aplicación de un objeto a otro; en λ-cálculo, además de la aplicación, existe un metaoperador λ-abstracción, con el que es posible construir funciones de expresiones que, a su vez, se pueden aplicar a otros objetos. Así, los objetos en programación aplicativa se comportan como entidades funcionales, lo que lo remite al paradigma funcional , sin embargo, en un sentido limitado, ya que se dan algunas peculiaridades:

Un lenguaje de programación aplicativo  es un lenguaje de programación que está diseñado para soportar el desarrollo de programas al obtener el resultado de evaluar una función que depende de una combinación de variables. El resultado final se logra aplicando sucesivamente transformaciones funcionales a los datos [1] .

Ejemplos de lenguajes de programación aplicativos son los lenguajes funcionales Lisp [2] y ML . En Haskell , este paradigma de programación se implementa en forma de un funtor aplicativo , que extiende las capacidades del mecanismo de abstracción funcional de orden superior a uno de muchos lugares.

Notas

  1. Programación aplicativa con efectos Archivado el 21 de octubre de 2007 en Wayback Machine (en Haskell, 2008) por Ross Paterson.
  2. Panteleev A. G. Sobre el intérprete del lenguaje Lisp para computadoras ES // Programación. - 1980. - Nº 3. - pág. 86-87.

Literatura