Частично примененная функция - это результат процесса частичного применения.Эта результирующая функция не обязательно должна быть высшего порядка, например, рассмотрим
val f: (Int, Int) => (Int) = (a, b) => a + b
val g: Int => Int = f(1, _) // g is partially applied function
Здесь функция g
является частично примененной функцией, и все же это первый порядок Int => Int
.Однако сам процесс частичного применения действительно является процессом более высокого порядка, поскольку он принимает функцию и возвращает функцию, аналогично, возможно, дифференциальному оператору из исчисления, который также принимает функцию в качестве входных данных и возвращает функцию в качестве выходных.
Как примечание, карринг и частичное применение связаны, но не идентичны .