【发布时间】:2019-12-18 15:20:45
【问题描述】:
到目前为止,在我的 Lisp 冒险中,我只是将在代码编辑器中编写的函数粘贴到 REPL 中以运行它们,但我现在有一个足够大的程序来构建它,它可以方便地使用 @ 987654321@ 是我工作流程中的第一次。
我必须开始使用包和/或命名空间来实现这一点吗?
我发现当我使用load时,如上所述,我得到了
** - Continuable Error
DEFUN/DEFMACRO(CLASS): #<PACKAGE CLOS> is locked
If you continue (by typing 'continue'): Ignore the lock and proceed
The following restarts are also available:
SKIP :R1 skip (DEFMACRO CLASS # ...)
RETRY :R2 retry (DEFMACRO CLASS # ...)
STOP :R3 stop loading file /Users/m/cl/ansi-cl/ch17-objects/177d-new-full.lisp
ABORT :R4 Abort main loop
我的.lisp 文件包含一个名为class 的宏,所以我理解错误。
问题是,当我将文件的内容直接粘贴到 REPL 中时,我没有收到此类错误。
导致行为差异的原因是什么? 是包、命名空间还是其他东西?
我确实可以只输入continue,文件就会加载,但我想了解这里发生了什么;这个“持续错误”的原因是什么,如果有的话我应该如何处理?
【问题讨论】:
标签: common-lisp read-eval-print-loop clisp