Wikipedia - kopia Wikipedii, wolnej encyklopedii

Currying jest to operacja w funkcyjnych językach programowania polegająca na przekształceniu funkcji, która pobiera parę argumentów i zwraca wynik (f : (P × Q) → R) w funkcję, która po pobraniu argumentu zwraca funkcję, która pobiera argument i zwraca wynik (g : P → (QR)). Operacja odwrotna nosi nazwę uncurryingu.

Podstawą dla tej operacji jest ugruntowanie systemu typów w językach funkcyjnych na rachunku lambda z typami. Taki rachunek na mocy izomorfizmu Curry'ego-Howarda jest równoważny pewnej logice intuicjonistycznej, a zatem operacja ta odpowiada tautologii logiki intuicjonistycznej: ((pq) → r) ↔ (p → (qr)).

Nazwa została zaproponowana przez Christophera Strachey'a w 1967 roku, jako nawiązanie do nazwiska logika Haskella Curry'ego.


ODP | Europa | Wikipedia | Azja | Healthy Blogs
wymiana linkami | pobieranie linkow | proces pobierania linkow | system wymiany linkow | trwa pobierania linkow