kiyokaのブログアーカイブ

Archive of old blog posts

Nendoの初期化ライブラリの階層構造

私がRubyで書いているLisp方言、 [Nendo]の開発状況続き。 今回は自分用のメモ。

[Nendo]の初期化ライブラリ init.nnd の階層構造

一段下位の部品を使って一段上位の部品を構成している。 名前の色は赤色がmacroで、青色が関数を示す。 img この図を見ると、初期化ライブラリはコードの再利用率が高いことが分かる。 反対に、実行効率という視点で見ると、マクロ展開のオーバーヘッドが多いため、実行効率が非常に低い。 [Nendo]はマクロの練習と、言語デザインの練習が目的なのでこれでいいのだと思っているのだが。 この図は、リファクタリングの影響範囲が調べやすくて良い。もっと早く描いておくべきだったか。