在通過Peter Seibel的書Practical Common Lisp工作時,我很難理解如何結合Emacs的SLIME和quicklisp來處理Common Lisp包系統。他提供該項目具有以下結構:如何避免爲一個通用的lisp項目加載多個asdf文件?
spam.lisp
在包com.gigamonkeys.spam
,這依賴於其他兩個包,cl-ppcre
和com.gigamonkeys.pathnames
。- 在包
com.gigamonkeys.pathnames
spam.asd
,它描述com.gigamonkeys.spam
包pathnames.asd
,它描述了com.gigamonkeys.pathnames
包
,我已經找不到當前建立的唯一途徑的依賴關係的依賴pathnames.lisp
最終目標spam.lisp是:
- 編譯並加載
pathnames.asd
文件使用泥(C-x C-k
) - 裝入
com.gigamonkeys.pathname
包通過在REPL - 裝入
cl-ppcre
包鍵入(asdf:operate 'asdf:load-op 'spam)
通過在REPL - 編譯打字
(ql:quickload "cl-ppcre")
和使用泥 - 裝入
com.gigamonkeys.spam
加載spam.asd
文件在REPL輸入(asdf:operate 'asdf:load-op 'spam)
包
這似乎是一個瘋狂的工作量需要使用的樂趣在單個文件中定義的ctions(spam.lisp
) - 我必須做錯了什麼。有沒有辦法用更少的命令加載spam.lisp
,並遞歸地加載它的依賴關係?
很好地完成答案 –
我在此標記爲正確的延遲道歉,但是這正是我一直在尋找。感謝您的明確解釋! – candrews