lisp:描述包中的每个外部事物

时间:2017-09-11 12:08:21

标签: lisp common-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.

我错过了哪些明显的修正?

1 个答案:

答案 0 :(得分:4)

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