Ostatnio dużo myślałem o podstawach Lispa; Czytałem kilka podręczników i/lub innych materiałów w Internecie, w tym The Roots of Lisp P. Graham:Dlaczego nie ma prymitywu Lisp nieokreślonego?
W Korzenie Lisp, quote
jest opisany jako prymitywne, że kod do zmiany danych, a tym samym cytowanie to, ale nie ma odpowiednika odwrotnej pierwotnej, czyli prymitywu unquote
. Myślałem, że może to być firma eval
, ale eval
często uruchamia dane w pustym środowisku leksykalnym, co nie jest równoznaczne ze zmianą danych z powrotem do kodu.
Ergo, dlaczego nie ma prymitywu Lisp w wersji unquote
?
Rereading swoje pytanie, mam wrażenie, że to, co chcesz, nie jest 'unquote' per se (co jest już przewidziane, jak już wspomniałem w mojej odpowiedzi), ale to rodzaj [ 'local-eval'] (http://www.gnu.org/software/guile/manual/html_node/Local-Evaluation.html), który działa tak samo, jak" eval "JavaScript (w którym dostępne są zmienne leksykalne). –
@ ChrisJester-Young Tak, właśnie o to mi chodzi. – SaltyEgg
@ ChrisJester-Young A ja chcę wiedzieć, dlaczego ten rodzaj "cytatu" nie jest prymitywny. Ponieważ był "cytat", dlaczego autor nie zawarł swojej funkcji odwrócenia? – SaltyEgg