LISP:描述包装中的所有外部事物



我敢肯定答案很明显,但是我将自己的头猛击。我正在尝试描述LISP软件包中的每个外部定义的东西。以下(SBCL)代码可以打印符号,

(require "sb-posix")
(do-external-symbols (single-symbol 'sb-posix)
  (prin1 single-symbol) (terpri))

...所以我希望这样的事情能够完成这项工作,但事实并非如此:

(require "sb-posix")
(do-external-symbols (single-symbol 'sb-posix)
  (describe sb-posix:single-symbol))

我收到的错误消息的前两行是:

Unhandled SB-INT:SIMPLE-READER-PACKAGE-ERROR:
  Symbol "SINGLE-SYMBOL" not found in the SB-POSIX package.

我缺少什么明显的更正?

您的代码将变量single-symbol绑定到SB-Posix中每个外部符号的值。命名变量的符号在当前软件包中(由cl:*package*指定),而不是在SB-Posix软件包中,不应使用SB-Posix软件包前缀引用。

最新更新