Zrozumiałem, że na długo przed Haskell, O'Caml lub LISP funkcje wyższego rzędu były przedmiotem badań akademickich, a w matematyce Schönfinkel (w 1967 r.) I Haskell Curry (w 1968 r.) Stosowali już techniki takie jak curry, ale że było zanim było dostępne w dowolnym języku programowania.
Schemat, według Wikipedii , był pierwszym językiem wprowadzić odpowiednie funkcje wyższego rzędu jako obywateli pierwszej klasy, ale jest tam ktoś możemy przypisywać oryginalny pomysł? Może Alonzo Church, który wynalazł rachunek lambda w latach 30. XX wieku? Mówiąc dokładniej, kto wymyślił następującą definicję, którą zobaczyłem w różnych parafrazach w kilku książkach i zasobach internetowych?
Funkcja jest uważana za wyższą, gdy bierze inną funkcję jako argument lub gdy zwraca funkcję. Każda funkcja, która nie przyjmuje funkcji jako argumentów lub typów zwracanych, nazywana jest funkcją pierwszego rzędu.