Dalam [1], Mitchell Wand menunjukkan bahwa menambahkan fexprs ke kalkulus lambda murni meremehkan teori kesetaraan kontekstual, yang berarti dua istilah setara secara kontekstual jika mereka -congruent. Ketika menjelajahi pekerjaan terkait, ia pergi "hasil kami memperluas pengamatan lama Albert Meyer [2] itu dan membuat sepele kesetaraan kontekstual". Tetapi merujuk pada [2], yang dapat ditemukan hanyalah pernyataan berikut dari Meyer:eval
quote
Saya pertama kali berpikir bahwa dalam bahasa dengan fitur
quote
-eval
seperti LISP [3] tidak ada perbedaan jenis antara objek sintaksis dan yang dapat dieksekusi. Bahkanquote
-eval
tampaknya cukup aman di LISP karena, meskipun secaraquote
sintaksis terlihat seperti operator bona fi de, seperti katakancond
, itu benar-benar tidak berperilaku seperti satu (itu hanya memiliki perilaku pada waktu parse, tidak menjalankan waktu, misalnya, seseorang tidak dapat lulusquote
sebagai parameter untuk suatu prosedur). Namun, saya belum melihat contoh meyakinkan di manaquote
-eval
fitur itu berharga.
Terlepas dari satu kelemahan kecil dalam komentar ini yang dapat menyesatkan pembaca untuk menyimpulkan bahwa cond
dapat diteruskan sebagai parameter untuk suatu prosedur. Jika saya mengerti dengan benar, apa yang Meyer katakan " quote
- eval
tampaknya cukup aman" berarti bahwa quote
- eval
mungkin tidak meremehkan teori persamaan, meskipun dia tidak menawarkan bukti.
EDIT:
Seperti yang disarankan oleh Martin, karena ketiga makalah yang dikutip berurusan dengan bahasa keluarga LISP, mari kita letakkan pertanyaan di bawah pengaturan yang sama ini. Apakah kesetaraan kontekstual dari suatu bahasa dengan quote
- eval
, khususnya LISP, di bumi sepele atau tidak?
[1] Mitchell Wand, Teori Fexprs Sepele . Gangguan dan Komputasi Simbolik 10 (3): 189-199 (1998).
[2] Albert Meyer, Puzzles dalam Programming Logic Workshop tentang Pengembangan Perangkat Lunak Formal. 1984
[3] John McCarthy, Fungsi Rekursif Ekspresi simbolik dan Komputasi mereka oleh mesin, Bagian I . Komunikasi ACM pada bulan April 1960.