Как использовать ppx.metaquot в OCaml?

Команда, написанная в README.md, не работает (показано использование ocamlfind.) Я понимаю, что исполняемый файл ppx_metaquot является своего рода файлом перезаписи, поэтому я могу перевести свой код, используя квази-цитату следующим образом:

ocamlfind ppx_tools/rewriter ~/.opam/system/lib/ppx_tools/ppx_metaquot  sample.ml

но это не может быть предполагаемым способом, поэтому, пожалуйста, скажите мне правильное использование.

1 ответ

Когда wd хочет использовать PPX, обычно wd использует -package опция ocamlfind:

ocamlfind ocamlc -c -package ppx_tools.metaquot sample.ml

Это компилирует sample.ml используя препроцессор ppx_tools.metaquot,

Если вы хотите увидеть вывод PPX в удобочитаемой форме, AFAIK станет немного сложнее.

ocamlfind ppx_tools/rewriter -ppx ~/.opam/system/lib/ppx_tools/ppx_metaquot sample.ml

или лучше следующее:

ocamlfind ppx_tools/rewriter -ppx `ocamlfind query ppx_tools`/ppx_metaquot sample.ml

Там может быть более простой способ, чем это, но я не знаю.

Другие вопросы по тегам