什么';OCaml的-ppx语法扩展的状态是什么?

什么';OCaml的-ppx语法扩展的状态是什么?,ocaml,camlp4,Ocaml,Camlp4,OCaml 4.00中添加了来自的提案。当时他提到还有一些工作要做(属性、引用等),但它已经有点有用了。OCAML4.01是否改进了对这种编写语法扩展风格的支持?现在是否有人在使用这种机制而不是camlp4,或者camlp4仍然是为OCaml编写语法扩展的推荐方式?Alain已经以OCaml编译器源代码的一个分支(名为扩展点)的形式完成了有关“(属性、引用等)”的工作。该分支的进展在公共邮件列表中进行了广泛讨论,但未纳入4.01。自4.01发布以来,它已经集成到trunk(编译器的参考开发分支)

OCaml 4.00中添加了来自的提案。当时他提到还有一些工作要做(属性、引用等),但它已经有点有用了。OCAML4.01是否改进了对这种编写语法扩展风格的支持?现在是否有人在使用这种机制而不是camlp4,或者camlp4仍然是为OCaml编写语法扩展的推荐方式?

Alain已经以OCaml编译器源代码的一个分支(名为扩展点)的形式完成了有关“(属性、引用等)”的工作。该分支的进展在公共邮件列表中进行了广泛讨论,但未纳入4.01。自4.01发布以来,它已经集成到trunk(编译器的参考开发分支)中,因此它应该可以用于4.02(请注意,目前的主要版本往往每年都会发布)

Alain为中的扩展点维护一种文档格式。它显然没有涵盖Camlp4的所有用例,但仍然是其中的一大部分。你是否愿意使用这是个人的决定;这样做的好处是,稍微笨拙一点的语法可以为您带来更轻松的部署以及与工具和其他扩展的互操作性

从4.00或4.01开始,
-ppx
不适用于语法扩展,您只能处理(并可能过滤/转换)语法有效的OCaml代码。从技术上讲,可以颠覆现有的OCaml语法来添加新的含义,但我建议不要这样做。如果您想将4.02用于语法扩展,则应该等待它