在阅读 Peter Seibel 的书Practical Common Lisp时,我在理解如何结合 Emacs 的 SLIME 和 quicklisp 处理 Common Lisp 包系统时遇到了一些困难。他提供的项目结构如下:
spam.lisp
在 packagecom.gigamonkeys.spam
中,它依赖于另外两个包,cl-ppcre
和com.gigamonkeys.pathnames
.pathnames.lisp
在包装中com.gigamonkeys.pathnames
spam.asd
,它描述了com.gigamonkeys.spam
包的依赖关系pathnames.asd
,它描述了com.gigamonkeys.pathnames
包的依赖关系
我目前发现构建最终目标 spam.lisp 的唯一方法是:
pathnames.asd
使用 SLIME (C-x C-k
)编译和加载文件- 通过在 REPL
com.gigamonkeys.pathname
中键入来加载包(asdf:operate 'asdf:load-op 'spam)
- 通过在 REPL
cl-ppcre
中键入来加载包(ql:quickload "cl-ppcre")
spam.asd
使用 SLIME编译和加载文件- 通过在 REPL
com.gigamonkeys.spam
中键入来加载包(asdf:operate 'asdf:load-op 'spam)
使用单个文件spam.lisp
(有没有办法spam.lisp
用更少的命令来加载和递归地加载它的依赖项?