Funció d'ordre superior

En matemàtica o informàtica, les funcions d'ordre superior són funcions que compleixen una de dues:

  1. prendre una o més funcions com a entrada
  2. retornar una funció com a sortida

En Matemàtica aquestes funcions s'anomenen operadors o funcionals.

En Informàtica se'n poden crear en nombrosos llenguatges de programació però són particularment freqüents en els que incorporen el paradigma de la programació funcional.

Exemples en diversos llenguatgesModifica

en PythonModifica

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

en HaskellModifica

f::Int->Int
f x = x + 3
g::(Int->Int) -> Int -> Int
g fu x = fu x * fu x
main = do
putStrLn "resultat = " ++ show $ g f 7