【发布时间】:2014-01-07 14:39:15
【问题描述】:
我可以使用通过快速 lisp 安装的软件包: Using packages installed from quicklisp with clisp
我尝试使用命令行执行使用包的 lisp 代码。代码是
(ql:quickload "yacc")
(use-package 'yacc)
当我尝试使用clisp ex.lisp 时,我收到了以下错误消息:
*** - READ from #<INPUT BUFFERED FILE-STREAM CHARACTER #P"ex.lisp" @2>: there
is no package with name "QL"
我必须使用clisp < ex.lisp 来加载包。
这两种方法的区别是什么? clisp < ex.lisp 是在命令行中使用包的唯一方法吗?
我找到了这个How to use quicklisp when CL program is invoked as a shell script?,但它不适用于 clisp。
【问题讨论】:
-
我怀疑 clisp 在交互和非交互模式下处理初始化文件的方式不同,因此当您使用参数启动时不会加载您的 quicklisp 设置。
-
@molbdnilo -- 我会同意这一点。根据
CLISP手册页,当解释器以clisp script.lisp启动时,“不会执行任何RC 文件”。 OP 应该使用-i选项来加载setup.lisp。
标签: common-lisp clisp quicklisp