CL入門 No.2 - 情報収集

情報収集をしよう

プログラミング環境を手に入れたら、次に行うことは情報収集です。
情報収集ルートを確保しておくことで飛躍的に理解度が高まっていきます。

今回は、主な情報収集先として次の3つを紹介します。

  • Quicklispの使い方
  • 言語仕様書(HyperSpec)の案内
  • 主要なCL情報サイト

Quicklisp

QuicklispはCommon Lispのライブラリ管理システムの一つです。
インストールについては前の記事を参照して下さい。

公式ページには基本的なコマンドの説明があります。
ですが英語なので、今回も日本語で簡単に解説しておきます。
http://www.quicklisp.org/beta/

システムを探す

system-apropos*1コマンドを使ってライブラリ検索出来ます。

(ql:system-apropos substring)
[参考] Quickdocsを使う

system-aproposだけで探すのは大変です。
QuickdocsというQuicklispのドキュメント閲覧サービスを活用しましょう。*2
http://www.quickdocs.org/

システムをインストールする

quickloadはシステムをロードするコマンドです。
(システムのインストールも自動で行います)

(ql:quickload system-name)

quickloadには次のような特徴があります。

  • 公式distがあり登録されているシステムは毎月更新される
  • システムがローカルにインストールされていない場合、インストールも行う
  • インストール時に、システムが依存しているシステムもインストールされる

システムのアップデート

インストール済みのシステム全て更新する便利コマンドです。

(ql:update-all-dists)

Quicklispのアップデート

Quicklispクライアント自身のアップデートもできます。

(ql:update-client)

システムのアンインストール

ほとんど使用する機会はないですが、
インストール済のシステムをアンインストールするコマンドもあります。

(ql:uninstall system-name)

Quicklispまとめ

Quicklispを使用することでライブラリのインストールや
システムのロードを素早く行うことができます。

まずは、いくつかの好みのキーワードで検索してみて、
実際にシステムをインストールしてみると振る舞いが分かると思います。

HyperSpec

HyperSpectとはLisp Works社*3が無償で公開している
ANSI Common Lisp*4規格のwebドキュメントです。
http://www.lispworks.com/documentation/HyperSpec/Front/

ANSI Common Lispは1000ページ以上あり、しかも非常に難解です。*5
しかしCommon Lispを利用する上で必須の情報なので、少しずつ読み進めていくことをオススメします。

まずはナナメ読み(目次読み)だけでもしておいて、
Common Lisp規格がどのようにセクション分けされているのか覚えておきましょう。

有志による情報サイト

CLiki

Common Lispに関する有名なWikiサイトです。
http://www.cliki.net/

主に次の目的で活用できます。

  • 入門用チュートリアル
  • 主要なライブラリ情報の収集
  • cl-user達の主要なircチャンネル情報
  • lispカンファレンス情報の収集

Common LISP users jp

日本のCommon Lispユーザによって運営されているWikiです。
http://cl.cddddr.org/

主に次の目的で活用できます。

  • 日本語ドキュメント
  • 日本のLispコミュニティ情報の収集

その他

もちろん星の数ほどCommon Lispの情報はありますから、
情報収集を怠らずに、多くのCL情報サイトを見て回りましょう。

まずは「Common Lisp」でググッてみてはどうでしょう。

まとめ

次回は、emacs(slime)を用いたエディタ導入の話です。
プログラミング本編はまだ先になりそうです。

*1:aproposは「適当な」という意味合いがあり、全文検索機能などに名前として割り当てられることが多いです。Common Lisp標準にもaproposというシンボル検索機能があります。

*2:このサービス自体もCommon Lispで動いているそうです。

*3:Lisp Worksという商用のCommon Lisp開発環境を開発・販売している会社です。

*4:1994年に制定されたCommon Lispの標準規格です。

*5:Common Lispが他の言語にはあまり見受けられない特殊な機能が多いためです。