来るversion 3.12ではfirst-class moduleが導入されるわけですが、この機能はmoduleの世界を結構広げてくれます。しかし、その文法がやや煩雑で、真面目に使おうとすると疲れてしまう事が危惧されます。そこで、first-class moduleをお手軽に使えるcamlp4拡張を作りました。https://forge.ocamlcore.org/scm/viewvc.php/trunk/src/camlp4/pa_fcm.ml?view=markup&root=amthing 導入する文法は次の6つです。 "struct ... end"を"{ ... }"と書けます。 "sig ... end"を"{ ... }"と書けます。 関数の引数で"( module M : Sig )"とすると、シグネチャーSigのモジュールMを束縛できます。 ファンクターの定義時に引数を