Programare aplicativă

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.

Note

  1. Aplicative Programming with Effects Arhivat 21 octombrie 2007 la Wayback Machine (în Haskell, 2008) de Ross Paterson.
  2. Panteleev A. G. Pe interpretul din limbajul Lisp pentru calculatoare ES // Programare. - 1980. - Nr. 3. - str. 86-87.

Literatură