Camlp4

Camlp4

Caml Pre-Processor and Pretty-Printer。Lispのマクロのように、OCamlの文法を拡張できる。

OCaml 3.09以前と3.10で互換性を持たない。

用語

Camlp4 3.10
3.10以降のOCamlに付属するCamlp4のこと。
Camlp5
3.09以前のCamlp4と互換性を持つライブラリ

使いかた

pa_xx.cmoを使いたい場合。

トップレベル
# #load "camlp4o.cma";;
# #load "pa_xx.cmo";;
ocamlc
$ ocamlc -pp 'camlp4o pa_xx.cmo' hoge.ml
参考

文法拡張

標準添付
  • 内包表記
  • スタックトレース
  • C風マクロ
  • and more...
外部

書き方

OCaml Journalの"Camlp4 3.10: parsers and macros"が、とても参考になります。が、残念ながら有料です。