Aplicación parcial : la capacidad en varios lenguajes de programación para arreglar parte de los argumentos de una función de varios lugares y crear otra función de menor aridad . Por ejemplo, al tener una función triple , puede arreglar ("vincular") el primer argumento y construir una función binaria tal que para cualquier .
En la práctica de la programación, se utiliza la aplicación parcial debido a que las funciones obtenidas fijando un cierto número de argumentos suelen ser útiles. Por ejemplo, muchos lenguajes de programación tienen una función o un operador de incremento (que es una fijación de uno como uno de los argumentos de la suma doble) o una función de inversión de valor. La aplicación parcial se puede implementar en casi todos los lenguajes de programación que tienen la capacidad de definir funciones de varios lugares. Varios lenguajes tienen construcciones especializadas para aplicaciones parciales, por ejemplo, la biblioteca estándar de C++ tiene una función bindque toma un nombre de función y argumentos como entrada y devuelve un objeto de función , el resultado de la aplicación parcial del conjunto de argumentos pasados. a la función.
En una serie de lenguajes de programación funcional , como ML y Haskell , las funciones se declaran en forma curry por defecto, es decir, el concepto de funciones de varios lugares se implementa mediante funciones unarias de orden superior ; en estas condiciones, una aplicación parcial (llamada en estos idiomas una sección de operadores) es cualquier paso de un número incompleto de argumentos [1] .
En los lenguajes de programación con funciones de primera clase, puede definir curry, uncurryy papply, para implementar la aplicación parcial y curry directamente (con la relación entre ellos de la siguiente manera: curry papply = curry). Pero este enfoque puede conducir a un tiempo de ejecución del programa más largo debido a la creación de cierres adicionales , mientras que Haskell le permite usar trucos más eficientes [2] .