Currificación

Currificación

Currificación

En la ciencia de la computación, currificar, inventada por Moses Schönfinkel y Gottlob Frege, es la técnica que consiste en transformar una función que utiliza múltiples argumentos (o más específicamente una n-tupla como argumento) en una función que utiliza un único argumento.

Contenido

Nomenclatura

El nombre "currificar", acuñado por Christopher Strachey en 1967, es una referencia al lógico Haskell Curry. Un nombre alternativo, Schönfinkelisation, ha sido propuesto.[1]

Definición

Dada una función f del tipo  f \colon (X \times Y) \to Z , currificándola sería una función del tipo  \mbox{curry}(f) \colon X \to (Y \to Z) . En otras palabras, curry(f) toma un argumento del tipo X y retorna una función del tipo  Y \to Z . Descurrificar es la transformación inversa.

Intuitivamente, la currificación expone que "Si ajustas algunos argumentos, tendrás una función de los argumentos restantes". Por ejemplo, si la función div significa la versión currificada de la operación x / y, entonces div con el parámetro x ajustado en 1 es otra función: igual que la función inv que devuelve la inversa multiplicativa de sus argumentos, definida por inv(y) = 1 / y.

La motivación práctica para currificar es que en ocasiones, muy seguidas, las funciones obtenidas al utilizar algunos, pero no todos, los argumentos en una función currificada pueden resultar útiles; por ejemplo, muchos lenguajes tienen una función o un operador similar a plus_one. Currificar hace fácil definir dichas funciones.

Referencias

  1. I. Heim and A. Kratzer (1998). Semantics in Generative Grammar. Blackwell.

Enlaces externos

Wikcionario

Obtenido de "Currificaci%C3%B3n"

Wikimedia foundation. 2010.

Игры ⚽ Поможем сделать НИР

Mira otros diccionarios:

  • Boo (informática) — Saltar a navegación, búsqueda Boo Paradigma: Orientado a objetos Apareció en: 2004 Última versión: 0.8.0 (25 de octubre 2007) Influido por: C#, Python …   Wikipedia Español

  • Cálculo lambda — Artículo parcialmente traducido: Contiene texto en inglés. Ayuda a terminarlo. El cálculo lambda es un sistema formal diseñado para investigar la definición de función, la noción de aplicación de funciones y la recursión. Fue introducido por… …   Wikipedia Español

  • Haskell Curry — Haskell Brooks Curry (12 de septiembre de 1900 1 de septiembre de 1982) fue un matemático y lógico estadounidense.[1] Nacido en Millis, Massachusetts, se educó en la Universidad Harvard y recibió un doctorado en Göttingen con David Hilbert en… …   Wikipedia Español

  • Scala (lenguaje de programación) — Este artículo o sección sobre informática necesita ser wikificado con un formato acorde a las convenciones de estilo. Por favor, edítalo para que las cumpla. Mientras tanto, no elimines este aviso puesto el 14 de abril de 2010. También puedes… …   Wikipedia Español

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”