Quicklisp導入
一部で話題のQuicklispを(会社のPCで)試したのでメモメモ。
QuicklispはASDF-INSTALLみたいに、指定したライブラリ+依存するライブラリをWEBから拾ってきてインストールしてくれるツールのようです。配布されているインストーラつぽいモノは 単一の .LISPファイルになっていて、依存ライブラリなし。
自分がヘボいのかなんだか分からないけど、ASDF-INSTALLがWindows環境で上手く動かないので代替手段として。今後の主力として期待。
インストールはhttp://cadr.g.hatena.ne.jp/g000001/20101009/1286607760を参考にしました。
$ wget http://beta.quicklisp.org/quicklisp.lisp $ sbcl
単一ファイルなのでwgetで拾ってくるだけ。簡単ですね。
CL-USER> (load (merge-pathnames "quicklisp.lisp" (user-homedir-pathname))) CL-USER> (quicklisp-quickstart:install) CL-USER> (ql:add-to-init-file)
これでインストール完了。installの際に、proxy を指定するときは :proxy に "http://hogehoge:port"という形式で指定。デフォルトのインストール先("~/quicklisp/")が嫌なら :path にディレクトリを指定。
add-to-init-file は処理系の初期化ファイルに quicklispを loadするコードを追加します。具体的にはこんなコード。
;;; The following lines added by ql:add-to-init-file: #-quicklisp (let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp" (user-homedir-pathname)))) (when (probe-file quicklisp-init) (load quicklisp-init)))
間違いがある可能性が高いメモ
関数 | 引数 | 備考 |
ql:quickload | "ライブラリ名" | 引数で指定したライブラリ、および依存ライブラリをインストール |
ql:system-apropos | "ライブラリ名の部分" | 引数で指定した文字列を含むライブラリを探し出す |
ql:update-all-dists | - | インストール済みライブラリを全部最新化 |
ql:update-client | - | Quicklisp自体を更新 |
ql:add-to-init-file | - | 処理系の初期化ファイルにQuicklispの読み込み処理を書き込む |