Gauche:SXML

Gauche:SXML

Lisp:S式の理由

例えばGaucheのSXMLライブラリは、 もともと様々なSchemeで動作するようにポータブルに書いてあったものを Gaucheが効率良く実行できるように変換して使っていますが、ソースは オリジナルを持っていて、ビルド時に自動で変換をかけています。 また、Gaucheのコンパイラcompile.scmでは実行時のオーバヘッドを 可能な限り削るため、素直に書けばcaseによる比較になる 内部でのツリートラバーサルのディスパッチを、マクロを利用して 整数インデックスによるテーブルのルックアップで行うような コードが生成されるようにしています (手持ちのCコンパイラの、 デフォルトのswitch〜case文の最適化処理に不満があるので、 自分で書き換えてしまった…みたいな感覚に相当します)。

Scheme:SXML

Tag: SXML


Last modified : 2013/04/27 00:41:12 UTC