OCaml中的"修订语法"是什么?

ane*_*eal 9 ocaml camlp4

当人们在OCaml中引用"修订语法"时,它们是否意味着这将成为该语言的新语法,还是仅仅是在CamlP4中创建的替代语法?如果是前者,那么"修订后的语法"什么时候成为OCaml的"官方语法"?

Chr*_*way 11

修改后的语法只是在Camlp4/5中实现的原始语法的替代方法(还有一个用Camlp5编写的Lisp语法).有些人更喜欢它,但我不鼓励你使用它,因为它只会使你的代码更容易让其他OCaml程序员感到困惑.知道修改后的语法很有价值的地方就是当你编写Camlp4/5扩展时 - 修改后的语法用于模式和重写,可能是因为它比原始语法更加一致.

据我所知,没有计划用修改后的语法替换原始的OCaml语法.

  • ygrek,我没有说明哪种语法更好.我认为像OCaml这样的中小型社区应​​该努力工作,不要破坏方言. (7认同)
  • 反对修改语法的另一点:穷人(呃)编辑器支持.据我所知,Tuareg和Vim的OCaml设施都不支持它. (3认同)
  • "但是我会阻止你使用它,因为它只会使你的代码更容易让其他OCaml程序员感到困惑" - 他,那么你最好不要使用ocaml,因为它会让更多人迷惑:)).无论如何,您可以使用原始语法编写引文,但是有些情况无法用原始语法表达,因此修改通常是该任务的首选.至于通常的编程 - 修改后的语法对于新手来说可能更合乎逻辑,也更容易(这就是它毕竟存在的原因) - 没有原始模糊的含糊之处. (2认同)