HaXmlメモ

HaskellXMLを扱おうと思い、次の2つのライブラリを知りました。

後者は如何にもHaskellらしいスマートなもののようです。しかし、自分がやりたい事はとても簡単な事なので、とりあえず前者でチャレンジ。しかしまずインストールでつまずく。

公式サイトでとりあえず見つかるヴァージョン1.13.3なのですが、これはGHC6.8以降に対応しているらしく、一昨年卒論の実装で使っていたGHC6.6にはインストールできないようです。なのでGHCから入れなおし。

さてHaXmlのインストールだと思いきや、公式サイトのFTPを見てみると、1.19.4という最新のヴァージョンがあったのでそれにしました。polyparseとかいうライブラリも入れろと言われたので入れる。

さあ実行だと思いきや次のようなエラーが。

`Content' is not applied to enough type arguments
Expected kind `??', but `Content' has kind `* -> *'

何だかよくわかりませんが、ググってみると、とりあえず古いヴァージョンにすればいいんじゃねという雰囲気だったので、おとなしくそうする。

古いヴァージョンを入れたものの、新しいヴァージョンのせいで隠れてしまっているようです。Haskellでライブラリ…というかパッケージ?を削除するのはどうすればいいのでしょう。よくわからないけれど、とりあえずpackage.confにおいて削除したい部分をコメントアウトしたら何とかなりました。

そんなわけでそれなりにXMLがパースできています。でも自分の足りない頭にとっては型がややこしいなあ。フィーリングで書くしかない。フィーリングでもコンパイルさえ通れば何とかなるところがHaskellの素晴らしいところですね。そのうち理解できたらと思います。

参考。