我发现了一个类似的问题.
但我不太明白这个解释.
所以我试图使用以下示例运行clisp:
[1]> (defvar a 5)
A
[2]> (+ a 1)
6
[3]> (defparameter b 5)
B
[4]> (+ b 1)
6
[5]> (setf c 5)
5
[6]> (+ c 1)
6
[7]> (setq d 5)
5
[8]> (+ d 1)
6
[9]> (let ((a 500)) (+ a 1))
501
[10]> (let ((b 500)) (+ b 1))
501
[11]> (let ((c 500)) (+ c 1))
501
[12]> (let ((d 500)) (+ d 1))
501
[13]>
Run Code Online (Sandbox Code Playgroud)
我发现的完全一样.
我无法弄清楚它们有什么不同?
我是Common Lisp的初学者,遇到了这段代码:
(let ((foo (list 42)))
(setf (rest foo) foo))
Run Code Online (Sandbox Code Playgroud)
在尝试执行它时,REPL似乎永远循环.