Función de orden superior
Función que recibe función(es) como argumento o que devuelve una función. map, filter, reduce son las clásicas. Requiere funciones de primera clase. Estándar en todos los lenguajes modernos; concepto nuclear de la PF.
Ejemplo: [1,2,3].map(x => x*2) — map es la función de orden superior, la función flecha es el argumento. Fábrica de funciones: const multiplier = n => x => x*n devuelve una función. Casos de uso: callbacks, manejadores de eventos, decoradores, cadenas de middleware, currificación, aplicación parcial. Rendimiento: los JIT modernos suelen hacer inline de las llamadas simples. Se distingue de la función de primer orden (que solo recibe datos). En Rust: funciones de orden superior vía closures (traits Fn/FnMut/FnOnce) e iteradores. La composición funcional (compose(f, g)) se construye con funciones de orden superior. Estilo pipeline: data.filter(...).map(...).reduce(...) = cadena de funciones de orden superior.