【发布时间】:2020-05-22 09:23:17
【问题描述】:
我是 Lisp 新手,目前正在尝试在 Common Lisp 中重做一个旧的 UCI Lisp 程序。当我复制以下代码(在 funcs.lisp 中)时,我遇到了以下问题:
;;; HEADER-CD gets the head act of a CD form.
(defun header:cd
(x)
(car x))
解释器发出此错误:
- READ from #<INPUT BUFFERED FILE-STREAM CHARACTER #P"funcs.lisp" @11>: there is no package
with name "HEADER"
我不明白代码中冒号的用途,但我猜它是为了指定可接受输入的类型,因为还有另一个名为“header:pair”的函数。
我不确定如何解决这个问题。也许我可以转向 UCI lisp,但我找不到它的编译器/解释器。请帮忙。
【问题讨论】:
-
这种形式用于命名空间前缀符号。您可以做的是将其重命名为
header/cdof|header:cd| -
谢谢!!出于好奇,你知道这个符号在 UCI lisp 中的预期用途是什么吗?
-
如果它是合法的,如果您可以添加一个指向您尝试修改的程序源的指针可能会很有用。我也找不到任何对“UCI Lisp”本身有意义的东西,尽管有大量的 lisp,所以这可能不足为奇。
标签: lisp common-lisp