ラベル gauche-library-directory の投稿を表示しています。 すべての投稿を表示
ラベル gauche-library-directory の投稿を表示しています。 すべての投稿を表示

2011/11/17

gauche-library-directory探訪001:gauche/macroutil.scm

gaucheのライブラリをのぞいて、目についたものを書いていくシリーズ(謎

前回



gauche/macroutil.scm

前回の方法で移動したディレクトリのgaucheディレクトリから。macroutil.scmという目を引くファイルがあったのでのぞいてみた。xmac, xmac1というマクロが定義されていた。
$ rlwrap gosh
gosh> (gauche-version)
"0.9.2"
gosh> (use gauche.macroutil)
gosh> (xmac (let1 a 1 (print a)))
(let ((a 1)) (print a))
gosh> (xmac (xmac (let1 a 1 (print a))))
(unwrap-syntax (%macroexpand (let1 a 1 (print a))))
見ての通り%macroexpandマクロの結果がunwrap-syntaxに渡されている。こんなマクロがあったなんて知らなかった。ドキュメントを調べてみたらundocumentedだった。

プログラミングGauche

gauche-library-directory探訪000:はじめに

gaucheのライブラリをのぞいて、目についたものを書いていくシリーズ(謎
ライブラリならドキュメントを見れば済むんだけど、今回はライブラリのソースものぞいてみるということで。

準備

gaucheにgauche-library-directoryという手続きがある。 こんな感じ。
$ rlwrap gosh
gosh> (print (gauche-library-directory))
/usr/local/share/gauche-0.9/0.9.2/lib
今後しばらくのぞいていくのは上記のディレクトリ。ということでshellで以下のように移動する。
$ cd `echo '(print (gauche-library-directory))' | gosh`
まずはどこからのぞくか。次回に続く(?)

プログラミングGauche