gpt4 book ai didi

ocaml - OCaml 的 -ppx 语法扩展的状态如何?

转载 作者:行者123 更新时间:2023-12-04 11:07:41 27 4
gpt4 key购买 nike

有来自 Alain Frisch of Lexifi over a year ago for an alternative to camlp4 for writing sytnax extensions making use of the -ppx flag 的提议在 OCaml 4.00 中添加。当时他提到还有一些工作要做(属性,引用等),但它已经有点可用了。 OCaml 4.01 是否改进了对这种编写语法扩展风格的支持?现在有没有人使用这种机制而不是camlp4 或者camlp4 仍然是为OCaml 编写语法扩展的推荐方式?

最佳答案

关于“(属性、引用等)”的工作由 Alain 以 OCaml 编译器源代码分支的形式完成,名为扩展点。公众广泛讨论了该分支的进展wg-camlp4邮件列表,但未在 4.01 中集成。自4.01发布以来,它已经集成在trunk(编译器的引用开发分支)中,因此它应该适用于4.02(注意目前主要版本倾向于每年发布)。

Alain 在 trunk/experimental/frisch/extension_points.txt 中维护了一种扩展点的文档形式。 .它显然没有涵盖 Camlp4 的所有用例,但仍然涵盖其中的很大一部分。您是否愿意使用它是个人决定; promise 是稍微笨拙的语法使您更容易部署和与工具和其他扩展的互操作性。

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

关于ocaml - OCaml 的 -ppx 语法扩展的状态如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19307750/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com