Jabarkan Sejarah dari Logika pemrograman

Penggunaan logika matematika untuk merepresentasikan dan menjalankan program komputer juga merupakan fitur dari kalkulus lambda, yang dikembangkan oleh Alonzo Church pada tahun 1930-an. Namun, proposal pertama untuk menggunakan bentuk logika clausal untuk merepresentasikan program komputer dibuat oleh Cordell Green.. Ini menggunakan aksiomatisasi subset dari LISP, bersama dengan representasi relasi masukan-keluaran, untuk menghitung relasi dengan mensimulasikan eksekusi program di LISP. Di sisi lain, Foster dan Elcock, menggunakan kombinasi persamaan dan kalkulus lambda dalam bahasa pemrograman asersi yang tak membatasi urutan dari operasi yang dilakukan.

Pemrograman logika sekarang dapat ditelusuri kembali ke perdebatan akhir tahun 1960-an dan awalh 1970-an tentang representasi pengetahuan deklaratif dengan prosedural di kecerdasan buatan.Para pendukung representasi deklaratif terutama bekerja di Stanford, terkait dengan John McCarthy, Bertram Raphael dan Cordell Green, dan di Edinburgh, dengan John Alan Robinson (pengunjung akademik dari Universitas Syracuse), Pat Hayes, dan Robert Kowalski. Pendukung representasi prosedural terutama dipusatkan di MIT, di bawah kepemimpinan Marvin Minsky dan Seymour Papert

Meskipun didasarkan pada metode pembuktian logika, Planner, yang dikembangkan di MIT, adalah bahasa pertama yang muncul dalam paradigma prosedural ini. Perencana menampilkan pemanggilan rencana prosedural yang diarahkan pola dari tujuan (yaitu reduksi tujuan atau rangkaian mundur dan dari pernyataan asersi atau rangkaian maju. mplementasi Planner yang paling berpengaruh adalah bagian dari Planner, yang disebut Micro-Planner, yang diimplementasikan oleh Gerry Sussman, Eugene Charniak dan Terry Winograd. Dimaan itu digunakan untuk mengimplementasikan program pemahaman bahasa alami Winograd SHRDLU, yang merupakan mercusuar pada waktu itu. Untuk mengatasi sistem memori yang sangat terbatas pada saat itu, Planner menggunakan backtracking struktur kontrol sehingga hanya satu jalur perhitungan yang mungkin harus disimpan pada satu waktu. Planner melahirkan bahasa pemrograman QA-4, Popler, Conniver, QLISP, dan bahasa konkuren Ether.

Hayes dan Kowalski di Edinburgh mencoba mendamaikan pendekatan deklaratif berbasis logika untuk representasi pengetahuan dengan pendekatan prosedural Planner. Hayes (1973) mengembangkan bahasa persamaan, Golux, di mana prosedur yang berbeda dapat diperoleh dengan mengubah perilaku pembukti teorema. Sebaliknya, Kowalski mengembangkan resolusi SLD, varian resolusi SL, dan ditunjukkan bagaimana memperlakukan implikasi sebagai prosedur reduksi tujuan. Kowalski bersama dengan Colmerauer di Marseille, yang telah mengembangkan ide ini dalam desain dan implementasi bahasa pemrograman Prolog.

Asosiasi untuk Pemrograman Logika telah ditemukan untuk mempromosikan Pemrogramin Logika di tahun 1986.

Prolog memberikan kebangkitan kepada bahasa-bahasa pemrograman ALF, Fril, Gödel, Mercury, Oz, Ciao, Visual Prolog, XSB, dan λProlog, serta berbagai bahasa pemrograman logika konkuren, pemrograman logika konstrain