В функциональном программировании часто можно встретить функцию высшего порядка (скажем, в виде метода), принимающую, допустим, две функции и возвращающую третью функцию, каким-либо образом сочетающую две первых. Для описания такой концепции обычно используют термин «комбинатор» (combinator).
Современный язык Java. Лямбда-выражения, потоки и функциональное программирование
·
Алан Майкрофт