【问题标题】:How to use quick lisp in batch mode of CLISP如何在 CLISP 的批处理模式下使用快速 lisp
【发布时间】: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 &lt; ex.lisp 来加载包。

这两种方法的区别是什么? clisp &lt; 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


【解决方案1】:

制作一个执行和退出calculator.lisp的c.lisp。

(load "calculator.lisp")
;(in-package #:yacc-calculator)
(yacc-calculator:calculator)
(ext:exit)

使用 -i 运行 clisp:clisp -i c.lisp

参考

【讨论】:

    猜你喜欢
    • 2011-07-11
    • 2010-09-13
    • 2020-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-31
    相关资源
    最近更新 更多