Funktionsapplikation

Inden for matematik er funktionsapplikation eller funktionsanvendelse synonyme og beskriver det at man anvender/bruger en funktion på en værdi fra funktionens definitionsmængde for at opnå en værdi fra funktionens værdimængde.

Funktionsapplikation foregår også i funktionsprogrammering hvor højereordensfunktioner kan tage andre funktioner som argument. I Lambda-kalkulus er funktionsapplikation udtrykt som en β-reduktion (Beta-reduktion). I Curry-Howard-isomorfien relateres funktionsapplikation til den logiske regel modus ponens.

Repræsentation redigér

Den typiske notation for funktionsanvendelse er f(x) hvor f er funktionen og x er værdien som funktionen anvendes på. Nogle gange nøjes man med at skrive f x, hvilket kan være nyttigt når man udfører currying. Her kan man se dette mellemrum som en operator ligesom + og ×.

Applikation som operator redigér

For at demonstrere at mellemrummet kan ses som en operator, kunne man definere en mere synlig operator $ til at gøre det samme: f $ x = f(x). Her betyder f $ 2 altså "f anvendt på to". Denne $-operator viser sig at være nyttig hvis man samtidigt giver den lav operatorpræcedens og gør den højreassociativ. Hvis man har et matematisk udtryk som f(g(h(j(x)))) vil det kunne omskrives til f $ g $ h $ j $ x. Dette er ved hjælp af funktionskomposition mere tydeligt hvis man skriver (f◦g◦h◦j)(x), altså den sammensatte funktion f◦g◦h◦j anvendt på x. Med $-operatoren vil det også kunne udtrykkes f◦g◦h◦j $ x.

Flere funktionsprogrammeringssprog anvender $ som operator til funktionsanvendelse. For eksempel er den på forhånd defineret i standardbiblioteket for programmeringssproget Haskell.