【发布时间】:2013-06-23 03:38:24
【问题描述】:
我正在做一个小项目只是为了好玩,我添加了eval 支持以使调试更容易。但是后来我发现了一个问题:
(let ((x 1))
(eval (1+ x)))
(defun foo (x form)
(eval form))
(foo 1 '(1+ x))
上面的代码不起作用。有人可以解释一下为什么以及如何解决它吗?非常感谢。
【问题讨论】:
-
不清楚为什么要将
EVAL添加到使调试更容易。这没有什么意义。 -
@RainerJoswig 它可以在软件运行时为我提供类似 REPL 的工具。
-
为了什么? Lisp 已经有一个 REPL。和一个调试器。为什么要重新发明轮子?
-
@RainerJoswig 我的软件是服务器,它正在监听,我无法使用 REPL...
标签: lisp eval common-lisp