Hogere-ordefunctie

Uit Wikipedia, de vrije encyclopedie

In de wiskunde en in de informatica is een hogere-ordefunctie (of een functionaal) een functie die aan een van de volgende voorwaarden voldoet:

  • de functie heeft één of meerdere functies als invoer,
  • de functie levert een functie als uitvoer.

In de wiskunde zijn deze ook bekend als operatoren of functionalen. De afgeleide in de analyse is een bekend voorbeeld aangezien het een functie afbeeldt op een andere functie.

Voorbeelden[bewerken | brontekst bewerken]

De map functie in veel functionele programmeertalen is een voorbeeld van een hogere-ordefunctie. Deze functie neemt een functie f en een lijst als invoer en geeft een lijst terug waarin de functie f is toegepast op elk element van de lijst.

Andere voorbeelden zijn functie-compositie, fold, filter en integreren.

Python[bewerken | brontekst bewerken]

Het volgende stuk Python code bevat een gewone functie f en een hogere-ordefunctie g:

def f(x):
    return x + 3
def g(function, x):
    return function(x) * function(x)
print(g(f, 7))

De functie g krijgt een functie mee, in dit geval f, en de waarde 7. De meegegeven functie wordt tweemaal toegepast om uiteindelijk de waarde 100 te berekenen: (7 + 3) * (7 + 3).