Common Lispから日本語のDictionaryを見る
以前の投稿
ANSI Common LispのDictionaryだけ翻訳したい - nptclのブログでは、
Dictionaryだけを日本語に翻訳して行こうと話しましたが、
残念ながらまだ全部は翻訳できていません。
とはいえ現段階では70%くらい完了しました。
これが終わったらnptをいろいろいじる予定ですが、
CLOSとかMOPとかを完璧にしたいので、
7章「オブジェクト」に引き続き、
4章の「型とクラス」の内容もDictionary含めて全部翻訳してしまいました。
よかったら見てみて下さい。
トップはここ。
https://nptcl.github.io/npt-japanese/md/ansicl/index.html
まあそれはいいとして本題に入ります。
Common Lispから、この日本語訳のDictionaryを参照できるようにしました。
例えば、subst
って何だったかなあ?というときに
日本語の説明を表示することができます。
配布はここ。
https://github.com/nptcl/npt-japanese
- src/npt-japanese.lisp
上記のファイルをload
するだけで使えます。
asd
ファイルも用意していますので、
asdf:load-system
なんかでも使えると思います。
読み込みはこんな感じ。
* (load #p"npt-japanese.lisp") * (use-package 'npt-japanese)
ためしにsubst
の説明を見てみます。
* (docjp subst) Function SUBST, SUBST-IF, SUBST-IF-NOT,NSUBST, NSUBST-IF, NSUBST-IF-NOT ## 構文 subst new old tree &key key test test-not => new-tree subst-if new predicate tree &key key => new-tree subst-if-not new predicate tree &key key => new-tree nsubst new old tree &key key test test-not => new-tree nsubst-if new predicate tree &key key => new-tree nsubst-if-not new predicate tree &key key => new-tree ## 引数と戻り値 new - オブジェクト old - オブジェクト predicate - 関数名のシンボルか、1つの引数をとりgeneralized-booleanを返却する関数 tree - ツリー test - 2つの引数を取りgeneralized-booleanを返却する関数の指定子 test-not - 2つの引数を取りgeneralized-booleanを返却する関数の指定子 key - 1つの引数を取りgeneralized-booleanを返却する関数の指定子、またはnil new-tree - ツリー ・・・
出力が大量に出るので、
最初の方はスクロールさせないと見えません。
more
とかless
みたいに表示を止めたらいいんでしょうけど
ごめんなさい。
そこまでしません。
候補が2つ以上ある場合は、どれが見たいのか聞かれます。
* (docjp pathname) PATHNAME FUNCTION PATHNAME SYSTEM-CLASS
下の方が見たいというときは次のようにしてください。
* (docjp pathname system-class)
公開しているインターフェースは次の2つだけです。
(defmacro docjp (&rest args) ...) (defun doc-japanese (&rest args) ...)
docjp
は、単にdoc-japanese
を呼び出してるだけです。
いちいちquote
するのが面倒だったからマクロで囲みました。
実行例は次の通り。
* (doc-japanese 'subst)
分ってる問題として表とリストの出力はガタガタです。
でもちょっと確認するくらいならこれで十分かな。