Saya telah memahami bahwa jauh sebelum Haskell, O'Caml atau LISP, fungsi-fungsi tingkat tinggi adalah subjek penelitian akademik dan dalam matematika, Schönfinkel (pada 1967) dan Haskell Curry (pada 1968) sudah menerapkan teknik seperti kari, tetapi itu sebelum tersedia dalam bahasa pemrograman apa pun.
Skema, menurut Wikipedia , adalah bahasa pertama yang memperkenalkan fungsi tingkat tinggi yang layak sebagai warga negara kelas satu, tetapi adakah orang yang bisa kita kaitkan dengan ide aslinya? Mungkin Gereja Alonzo, yang menemukan kalkulus lambda di tahun 1930-an? Lebih khusus lagi, siapa yang menciptakan definisi berikut, yang saya lihat dalam berbagai parafrase di dalam beberapa buku dan sumber daya online?
Suatu fungsi dianggap orde tinggi ketika mengambil fungsi lain sebagai argumen atau ketika mengembalikan fungsi. Fungsi apa pun yang tidak mengambil fungsi sebagai argumen atau sebagai tipe pengembalian disebut fungsi urutan pertama.
Jawaban:
Frege mengatakan dalam "Funktion und Begriff" (1891):
Dalam bahasa Inggris (terjemahan saya):
Seperti benda dan fungsi berbeda, begitu pula fungsi, yang argumennya adalah fungsi yang secara radikal berbeda dari fungsi yang argumennya adalah benda. Saya menyebut fungsi terakhir dari urutan pertama, fungsi sebelumnya dari urutan kedua.
sumber
Artikel wikipedia sudah menghubungkan terminologi "warga negara kelas satu" dengan Strachey.
"Fungsi orde tinggi" Saya membayangkan tanggal kembali ke perbedaan antara orde tinggi dan logika orde pertama.
Lihat https://en.wikipedia.org/wiki/Higher-order_logic dan http://plato.stanford.edu/entries/logic-higher-order/
sumber