CamlP4 sucks

CamlP4 が嫌いだ:

  • 他のツール群が全て ocaml○○ にもかかわらず、p4 は camlp4○○。3.09の時はもっとひどかった。ocpp とかなんですか?
  • camlp4{o,of,oof,orf,r,rf} いい加減にしてほしい。ちなみに ocamlprof は名前は似ているが全く別のツール。
  • revised syntax。全ての混乱の元
  • original syntax も元のに似ているようで、100% コンパチではない(その上バグがある)
  • そもそもオリジナルと parser algorithm が違うので、CamlP4 の syntax error を理解しなおさなければならない。
  • たかが parser 拡張するだけなのに勉強すること多すぎ。3.10でまた一からやりなおし。
  • cpp や M4 で書けるようなことを、わざわざ CamlP4 で作る風潮がある。
  • 実装が 3.10 になって新しくなったため、CamlP4 を使った拡張は全て書き直し。その上、3.10 になってからもころころと内部が変わっているので CVS version のコンパイラでは 3.10 で使えるはずの拡張も修正無しでは使えないことが多い。
  • ほとんど使わないツールにもかかわらずビルド時間だけは異様に取る
  • ocamlbuild とかいう腐れツールとタッグを組んだおかげでさらに時間がかかる
  • 使いもしないツールなのに、コンパイラを改造すると CamlP4 と ocamlbuild も修正を迫られる。
  • camlp4 と camlp5 があるが、ある超絶的に詰まらない理由により camlp5 は OCaml には採用されることはない。洋の東西を問わず人間関係は重要だね、という話だ。
  • campl4 と何故かミスタイプすることが多い。これは言いがかりだね。

OCaml プログラムを書くことでプログラマブルに parser や parse tree を変えることができるというアイデア自体は大歓迎なのだが、なぜここまで複雑にしなければならないのか理解できない。