Я понял, что задолго до Хаскелла, О'Камла или LISP функции высшего порядка были предметом академических исследований, а в математике Шенфинкель (в 1967 г.) и Хаскелль Карри (в 1968 г.) уже применяли такие методы, как карри, но был до того, как он был доступен на любом языке программирования.
Схема, согласно Википедии , была первым языком, который ввел надлежащие функции высшего порядка как первоклассные граждане, но есть ли кто-нибудь, кому мы можем приписать оригинальную идею? Может быть, Алонзо Черч, который изобрел лямбда-исчисление в 1930-х годах? В частности, кто придумал следующее определение, которое я видел в различных парафразах вокруг в нескольких книгах и онлайн-ресурсах?
Функция считается более высокого порядка, когда она принимает другую функцию в качестве аргумента или когда она возвращает функцию. Любая функция, не принимающая функции в качестве аргументов или возвращаемых типов, называется функцией первого порядка.