2008-12-01から1ヶ月間の記事一覧

ML っぽいカリー化関数を定義するマクロ

ML とか Haskell のコードを読む時に私がどうしても憧れてしまうのが、自動的にカリー化定義される関数です。Scheme にもカリー化関数を定義する構文自体は存在します (処理系にもよるでしょうが)。例えば、このようなラムダ式のネストで定義された関数を (d…

パーサーコンビネータの性能向上について

自前の XML パーサーやウェブ・スクレイピングなどにパーサーコンビネータ・ライブラリを使っているんですが、どうも実行速度が遅いのが気になってきたので、原因を考えてみました。で、気付いたんですが、例えばこのようなパーサーを定義した時に、 (doP (c…