camlp4: расширитель котировок недоступен - PullRequest
4 голосов
/ 16 марта 2011

Файл test.ml содержит только одну строку:

let foo = <:expr< foo >>

Затем я применяю camlp4 к этому файлу с помощью этой командной строки:

camlp4o pa_extend.cmo test.ml

Вывод:

File "test.ml", line 1, characters 12-24:
While finding quotation "expr" in a position of "expr":
  There is no quotation expander available.
  Camlp4: Uncaught exception: Not_found

Я ожидал, что файл будет предварительно обработан и предложение будет соответствующим образом расширено.Что я здесь забыл?

1 Ответ

6 голосов
/ 16 марта 2011

При ocaml> = 3.10 вы не должны использовать pa_extend.cmo, а новые модули котировок. Они упакованы в исполняемый файл camlp4of, который можно использовать напрямую вместо camlp4 (или camlp4rf для измененного синтаксиса).

...