Чтение в статье Википедии о функциях первого класса есть хорошая таблица языковой поддержки различных аспектов функционального программирования: http://en.wikipedia.org/wiki/First-class_function#Language_support
JavaScript указан как не имеющий частичного применения функции. Однако существуют методы создания функции, которая возвращает функцию с некоторыми параметрами, хранящимися в замыкании, например:
var add = function(a, b){
return a + b;
},
apply = function(fn, a){
return function(b){
return fn(a, b);
}
},
addFive = apply(add, 5);
console.log(addFive(2)); // prints 7
Разве это не частичное приложение функции? Если нет, может ли кто-нибудь привести пример приложения частичной функции на другом языке и объяснить, чем оно отличается?
Спасибо!