ここ数日DreamというOcamlのWebフレームワークのコードを読んでいる。

ファーストクラスモジュールやファンクター、パラメーター満載のモジュールを駆使しているわけではなく、1ファイル1モジュールとしてそのまま関数が書かれているファイルが多い。素朴な実装になっているので自分のようなにわかでも読みやすいなぁと。

HTTPステータスコードなどが多相バリアントで定義されていて、おー多相バリアントはこういう感じに使うと便利なんだなという学びもあった。