Gần đây, tôi đã suy nghĩ rất nhiều về cơ sở của Lisp; Tôi đã đọc một số hướng dẫn sử dụng và/hoặc tài liệu khác trên Internet, bao gồm The Roots of Lisp bởi P. Graham:Tại sao không có một nguyên gốc Lisp 'unquote`?
Trong The Roots của Lisp, quote
được mô tả như một nguyên thủy rằng những thay đổi mã vào dữ liệu, do đó trích dẫn nó, nhưng dường như không phải là một nguyên thủy nghịch đảo tương đương, đó là một nguyên thủy unquote
. Tôi nghĩ rằng nó có thể đã được kinh doanh của eval
, nhưng eval
thường chạy dữ liệu trong một môi trường từ vựng rỗng, mà không phải là tương đương với việc thay đổi dữ liệu trở lại vào mã.
Ergo, tại sao không có unquote
nguyên thủy Lisp?
Đọc lại câu hỏi của bạn, tôi nhận được ấn tượng rằng những gì bạn muốn không phải là 'unquote' cho mỗi gia nhập (mà đã được cung cấp, như tôi đã đề cập trong câu trả lời của tôi), nhưng một loại [ 'local-eval'] (http://www.gnu.org/software/guile/manual/html_node/Local-Evaluation.html) hoạt động tương tự như' eval' của JavaScript (trong đó có các biến từ vựng). –
@ ChrisJester-Young Vâng, đó là điều tôi muốn nói. – SaltyEgg
@ ChrisJester-Young Và tôi muốn biết, tại sao loại báo giá này không phải là nguyên thủy. Nguyên nhân có một 'trích dẫn', tại sao tác giả không bao gồm chức năng đảo ngược của nó? – SaltyEgg