Common Lisp の簡易リファレンス

"Common Lisp the Language, 2nd Edition"(Guy L. Steele) は Common Lisp の仕様書であり、Web で公開されています。その HTML 文書を利用して、Common Lisp の簡易リファレンスをつくることができます — この方法はとても簡単ですので、公開の意義はほとんどないかもしれません。必要なものは、もちろん、"Common Lisp the Language, 2nd Edition" の HTML ヴァージョンです。


"Common Lisp the Language, 2nd Edition" の HTML ヴァージョンをダウンロードそして解凍しましょう。

wget http://www.cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/ai/lang/lisp/doc/cltl/cltl_ht.tgz

tar zxvf cltl_ht.tgz

cltl_ht.tgz/home/user_name/doc/ 以下に解凍したものとします。

シェル・スクリプトを作成します。

#!/bin/sh
# ref_cltl.sh
# "Common Lisp the Language, 2nd Edition" 内の、
# 検索した関数などの定義が記されたページを閲覧します。

# "Common Lisp the Language, 2nd Edition" の HTML ファイルを含む
# ディレクトリを指定します。
CLTL_HOME=/home/user_name/doc/cltl

grep -lr "<tt>$1 " $CLTL_HOME/clm | (read LINE ; w3m $LINE)

このスクリプト ref_cltl.sh を chmod +x ./ref_cltl.sh として、 PATH が通っている場所に置きます。そして、たとえば、 ref_cltl.sh remove-if-not と打ちます(ref_cltl.sh [あなたが調べたい関数などの名前])。検索対象の定義が記された頁を w3m が開きます。


もうひとつの方法(未完成);

#!/bin/sh
# "Common Lisp the Language, 2nd Edition" 内の、
# 検索した関数の定義を抽出します。

CLTL_HOME=/home/username/doc/cltl
# grep -lr "<tt>$1 " $CLTL_HOME/clm | (read LINE ; w3m $LINE)
grep -hr -A 10 "<tt>$1 " $CLTL_HOME/clm | \
    sed -e 's/<[^>]*>//g' | \
    sed -e 's/\&amp;/\&/g'