Részleges alkalmazás - számos programozási nyelvben a többhelyes függvény argumentumainak egy részének rögzítése és egy másik, kisebb aritású funkció létrehozása . Például egy hármas függvény birtokában javíthatja ("összekötheti") az első argumentumot , és létrehozhat egy bináris függvényt úgy, hogy bármely .
A programozási gyakorlatban a részleges alkalmazást azért használják, mert gyakran hasznosak bizonyos számú argumentum rögzítésével kapott függvények. Például sok programozási nyelvnek van függvénye vagy növekményes operátora (ami az egyik rögzítése a dupla összeadás egyik argumentumaként) vagy értékmegfordító függvény. A részleges alkalmazás szinte minden olyan programozási nyelvben megvalósítható, amely képes többhelyes funkciók meghatározására. Számos nyelv rendelkezik speciális konstrukcióval a részleges alkalmazáshoz, például a C++ szabványos könyvtárnak van egy függvénye bind, amely bemenetként egy függvénynevet és argumentumokat vesz fel, és egy függvényobjektumot ad vissza - az átadott argumentumkészlet részleges alkalmazásának eredményeként. a funkcióhoz.
Számos funkcionális programozási nyelvben , mint például az ML és a Haskell , a függvények alapértelmezés szerint curried formában vannak deklarálva , vagyis a többhelyes függvények koncepciója magasabb rendű unáris függvényekkel valósul meg ; ilyen feltételek mellett a részleges alkalmazás (ezeken a nyelveken operátorok szakaszának nevezik ) az argumentumok hiányos számú átadása [1] .
Az első osztályú funkciókkal rendelkező programozási nyelvekben definiálhatja a curry, uncurryés papply, a currying és a részleges alkalmazás közvetlen megvalósítását (a köztük lévő kapcsolattal: curry papply = curry). Ez a megközelítés azonban hosszabb programvégrehajtási időt eredményezhet a további lezárások létrehozása miatt , míg a Haskell hatékonyabb trükkök használatát teszi lehetővé [2] .