En la ciència de la computació, currificar és la tècnica inventada per Moses Schönfinkel i Gottlob Frege que consistix en transformar una funció que utilisa múltiples arguments (o més específicament una n-tupla com a argument) en una seqüència de funcions que utilisen un únic argument (l'operació inversa a la composició de funcions en matemàtiques).

Nomenclatura

El nom "currificar", falcat per Christopher Strachey en 1967, és una referència al llògic Haskell Curry. Un nom alternatiu, Schönfinkelisation, ha segut propost.[1]

Definició

Donada una funció f del tipo f:(X×Y)→Z, currificándola seria una funció del tipo curry(f):X→(Y→Z). En atres paraules, curry(f) pren un argument del tipo X i retorna una funció del tipo Y→Z. Descurrificar és la transformació inversa.

Intuitivamente, la currificación expon que "Si fixes alguns arguments, tindràs una funció dels arguments restants". Per eixemple, si la funció div significa la versió currificada de l'operació x / i, llavors div en el paràmetro x fixat en 1 és una atra funció: igual que la funció inv que torna l'inversa multiplicativa dels seus arguments, definida per inv(i) = 1 / i.

La motivació pràctica per a currificar és que en ocasions, molt seguides, les funcions obtingudes en utilisar alguns, pero no tots, els arguments en una funció currificada poden resultar útils; per eixemple, molts llenguages tenen una funció o un operador similar a plus_one. Currificar fa fàcil definir dites funcions.

Referències

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


Referències