Я зрозумів, що задовго до того, як Haskell, O'Caml або LISP, функції вищого порядку були предметом академічного дослідження, а в математиці Schönfinkel (в 1967 р.) І Haskell Curry (1968 р.) Вже застосовували такі методи, як currying, але це до того, як вона була доступна будь-якою мовою програмування
Згідно з Вікіпедією , схема була першою мовою, яка запровадила належні функції вищого порядку як громадяни першого класу, але чи є хто, до кого ми можемо віднести початкову ідею? Можливо, Церква Алонцо, яка винайшла лямбда-числення в 1930-х роках? Більш конкретно, хто створив таке визначення, яке я бачив у різних переказах у кількох книгах та інтернет-ресурсах?
Функція вважається вищого порядку, коли вона приймає іншу функцію як аргумент або коли вона повертає функцію. Будь-яка функція, яка не приймає функції як аргументи або як типи повернення, називається функцією першого порядку.