Programarea aplicativă este un tip de programare declarativă în care scrierea unui program constă în aplicarea sistematică a unui obiect la altul. Rezultatul unei astfel de aplicații este din nou un obiect care poate participa la aplicații atât ca funcție , cât și ca argument și așa mai departe. Acest lucru face ca înregistrarea programului să fie clară din punct de vedere matematic. Faptul că o funcție este notă printr-o expresie indică posibilitatea utilizării funcțiilor-valoare - obiecte funcție - pe picior de egalitate cu alte obiecte care pot fi trecute ca argumente sau returnate ca urmare a calculului altor funcții.
Modelele de programare aplicativă se bazează de obicei pe logica combinatorie sau pe calculul λ . În logica combinatorie, singurul meta-operator este aplicația, care asigură aplicarea unui obiect la altul; în λ-calcul, pe lângă aplicare, există și un meta-operator λ-abstracție, cu ajutorul căruia se pot construi funcții din expresii, care, la rândul lor, pot fi aplicate altor obiecte. Astfel, obiectele din programarea aplicativă se comportă ca entități funcționale, ceea ce o referă la paradigma funcțională , totuși, într-un sens limitat, deoarece au loc unele particularități:
Un limbaj de programare aplicativ este un limbaj de programare care este conceput pentru a sprijini dezvoltarea programelor prin obținerea rezultatului evaluării unei funcții care depinde de o combinație de variabile. Rezultatul final se obține prin aplicarea succesivă a transformărilor funcționale datelor [1] .
Exemple de limbaje de programare aplicative sunt limbajele funcționale Lisp [2] și ML . În Haskell , această paradigmă de programare este implementată sub forma unui functor aplicativ , care extinde capacitățile mecanismului de abstractizare funcțională de ordin superior la unul cu mai multe locuri.