Quicklisp 介紹

作者:Lisp Taiwan http://quicklisp.org/

Zach Beane 所開發的 Quicklisp 是一個 Common Lisp 的函式庫管理工具,只需要幾個簡單的命令,就可以自動下載、安裝、載入超過 700+ 個軟件包。如果要類比的話,Quicklisp 就像是 apt-get 之於 Ubuntu、Homebrew 之於 Mac、Gem 之於 Ruby、NPM 之於 Node.js。

以前可能有人使用過 ASDF-INSTALL,但這個軟件已經沒有人再維護了,絕對不要再用了。

目前 Quicklisp 可以在 ABCL、Allegro CL、Clozure CL、CLISP、CMUCL、ECL、LispWorks、SBCL、以及 Scieneer CL 上使用。

所有被納入 Quicklisp 的函式庫皆經過相容性與依賴性測試(由 zach 本人測試),確保它們在主流的 Common Lisp 實現上是可以工作的,並且與其它的函式庫不相互衝突。

安裝 Quicklisp

步驟很簡單,只要下載 quicklisp.lisp、加載進來、安裝、加入啟動文件。之後就可以輕鬆加載第三方函式庫摟。

系統:Mac OSX

Common Lisp 實現:SBCL

$ 號為命令行、? 為 Lisp REPL。

1
2
3
4
$ curl -O http://beta.quicklisp.org/quicklisp.lisp
$ sbcl --load quicklisp.lisp
* (quicklisp-quickstart:install)
* (ql:add-to-init-file)

安裝過了,再次加載?

如果你沒有執行上面的 (ql:add-to-init-file),將會需要再每次啟動 Common Lisp 之後手動加載 Quicklisp。

1
(load "~/quicklisp/setup.lisp")

注意!!!!

將路徑換成 quicklisp 所在的目錄,CMUCL 不支持解析 ~ 家目錄

安裝特定版本的軟件包?

參考這篇文章:Going back in dist time

Quicklisp 命令

CommandDescription
(ql:quickload system-name)自動下載軟件包
(ql:system-apropos substring)搜索帶有 substring 的軟件包
(ql:add-to-init-file)啟動時自動加載 Quicklisp
(ql:quickload "quicklisp-slime-helper")安裝提供給 SLIME 的 Quicklisp 助手
(ql:update-all-dists)獲取第三方軟件包更新
(ql:update-client)更新 Quicklisp
(ql:who-depends-on system-name)看特定軟件包的依賴關係

尋求幫助

最新消息:在推特上跟隨 @quicklisp 或閱讀 Quicklisp 的 blog

有任何問題或意見請寄信給 zach,或到 freenode 的 #quicklisp 頻道。

Quicklisp 代碼放在 GitHub

延伸閱讀

Quciklisp FAQ

Google