Tillämplig programmering

Applikativ programmering  är en typ av deklarativ programmering där skrivandet av ett program består i att systematiskt applicera ett objekt till ett annat. Resultatet av en sådan applikation är återigen ett objekt som kan delta i applikationer både som en funktion och som ett argument , och så vidare. Detta gör programrekordet matematiskt tydligt. Det faktum att en funktion betecknas med ett uttryck indikerar möjligheten att använda värde-funktioner - funktionsobjekt  - på likvärdig nivå med andra objekt som kan skickas som argument eller returneras som ett resultat av beräkningen av andra funktioner.

Applikativa programmeringsmodeller är vanligtvis baserade på kombinatorisk logik eller λ-kalkyl . I kombinatorisk logik är den enda metaoperatorn applikation, som säkerställer applikationen av ett objekt till ett annat; i λ-kalkyl finns det förutom applikationen en λ-abstraktionsmetaoperator, med vilken det är möjligt att konstruera funktioner från uttryck, som i sin tur kan appliceras på andra objekt. Sålunda beter sig objekt i applikativ programmering som funktionella enheter, vilket hänvisar det till det funktionella paradigmet , dock i begränsad mening, eftersom vissa egenheter äger rum:

Ett applikativt programmeringsspråk  är ett programmeringsspråk som är utformat för att stödja utvecklingen av program genom att erhålla resultatet av att utvärdera en funktion som beror på en kombination av variabler. Slutresultatet uppnås genom att successivt tillämpa funktionella transformationer på datan [1] .

Exempel på applikativa programmeringsspråk är funktionsspråken Lisp [2] och ML . I Haskell är detta programmeringsparadigm implementerat i form av en applikativ funktor , som utökar kapaciteten hos den högre ordningens funktionella abstraktionsmekanismen till en flerplats.

Anteckningar

  1. Applikativ programmering med effekter arkiverad 21 oktober 2007 på Wayback Machine (i Haskell, 2008) av Ross Paterson.
  2. Panteleev A. G. Om tolken från Lisp-språket för ES-datorer // Programmering. - 1980. - Nr 3. - sid. 86-87.

Litteratur