¿Existe una convención de nomenclatura para funciones de orden superior? Es decir, funciones que devuelven otras funciones.
Un ejemplo en Javascript:
function onlyDivisibleBy(div) { // <-- higher order function
return function (n) {
return n % div === 0;
}
}
var arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
arr.filter(onlyDivisibleBy(3)); // [0, 3, 6, 9]
arr.filter(onlyDivisibleBy(5)); // [0, 5]
He tendido a escribirlo como anteriormente: es decir, optimizando la legibilidad en el punto de invocación (leí las últimas líneas arriba como "filtrar la matriz para obtener elementos solo divisibles por 5"), sin embargo El punto de definición está alejado del contexto en el que se usa, no es tan fácil entender qué hace esta función con su nombre.