当我运行LISP代码时,我遇到了一个相当奇怪的错误:
Origin 9614327 is not in the stack of NIL
我在Lispbox Emacs上运行代码。当我尝试查看Emacs中的堆栈跟踪时,它会冻结。 C-c C-c和ESC-ESC-ESC没有把它拿出来。
代码似乎需要很长时间才能运行。
答案 0 :(得分:0)
这似乎是无限递归周期的结果。我有一个函数known-c
,有时会调用另一个函数expand
。 expand
有时称为函数known-c
,当两者相互调用的条件满足时,它们无限循环。为什么会导致上述错误,我不知道,但我通过简单地删除循环解决了这个问题。