Ich habe verstanden, dass Funktionen höherer Ordnung lange vor Haskell, O'Caml oder LISP ein akademisches Forschungsfach waren und Schönfinkel (1967) und Haskell Curry (1968) in der Mathematik bereits Techniken wie Curry anwenden, aber das war, bevor es in irgendeiner Programmiersprache verfügbar war.
Laut Wikipedia war das Schema die erste Sprache, die als erstklassige Bürger ordnungsgemäße Funktionen höherer Ordnung einführte. Aber gibt es jemanden, dem wir die ursprüngliche Idee zuschreiben können? Vielleicht Alonzo Church, der in den 1930er Jahren den Lambda-Kalkül erfunden hat? Genauer gesagt, wer hat die folgende Definition geprägt, die ich in verschiedenen Paraphrasen in mehreren Büchern und Online-Ressourcen gesehen habe?
Eine Funktion wird als höherwertig angesehen, wenn sie eine andere Funktion als Argument verwendet oder eine Funktion zurückgibt. Jede Funktion, die keine Funktionen als Argumente oder als Rückgabetypen verwendet, wird als Funktion erster Ordnung bezeichnet.