在在Lisp中(第84)。格雷厄姆說「在Lisp的」:`(ABC)VS '(ABC)對(列表' A 'B' C)
‘(a b c)
(沒有逗號)等於’(a b c)
,然後說
一個反引號清單相當於調用列出與元素 現狀特德。
也就是說,‘(a b c)
(不含逗號)等於(list ’a ’b ’c)
。
由於'(a b c)
和(list 'a 'b 'c)
似乎並不相同,所以一個陳述必須是假的。後者是一個新鮮的一致列表(可以安全地修改),而前者是一個常量 - 或者至少該規範允許編譯器將其視爲這樣。
所以也許這是一個很挑剔的問題,但是是一個反引號列表(沒有逗號)‘(a b c)
等於'(a b c)
或等於(list 'a 'b 'c)
?
由反引用產生的列表被允許與模板本身共享結構,所以變異是不安全的。它的實際工作是由實施決定的。 – jkiiski