この記事は OCaml Advent Calendar 2012 の 24日目の記事です。 が、実際にアップロードしたのは2013年1月18日です。 本当はもっと実用的なネタを書く予定だったのですが、飽きた ので、いっそ思い切り趣味に走った記事を書くことにしました。 追記: 動作するものを github にアップロードしました。 https://github.com/keigoi/olt_ocaml 追記:ちゃんと書きませんでしたが、OCamlによるXML処理ができる実装が既に著者らによって公開されています。 http://www.fos.kuis.kyoto-u.ac.jp/~ksuenaga/x-p/ 順序付き線形型とXML(木) 児玉・末永・小林による この論文 (日本語の文献) は、XMLなどの木構造を再帰的にトラバースするプログラムを、より効率のよいストリーム処理プログラムに変換