練習もかねて、テスティングフレームワークを書いてみてました。 最初はこんなに大きなものを作る気がなかったので、バージョン管理してなかった(汗 正直言ってあまり出来は良くない。複雑だし、いろいろメンドイ。それにOUnitよりいい点があまり無い。 方向性は ・演算子によるアサーション ・比較の型の選択をモジュール(ファンクター)で行う コードは https://gist.github.com/3246539 汚いな、さすが管理されていないコードきたない。 とりあえず次のように書ける。 T_* が対応するテスト用の関数を持っている。あとはsubtypeを持つものはファンクターでsubtypeの T_* を渡す。 module T_int_list = T_list(T_int) module T_string_list = T_list(T_string) let list_test = tes