Exactly, for companies like janestreet, they may not feel its pain since they didn't depend on external ppx, release software only works on latest compilers, and have a very good orientation section about those conventions, it makes perfect sense under such internal organizations.
But for external open source communities, it's too bad that PPX is so widely used, migrate-parsetree maybe useful, but it adds yet another layer of complexity, the real solution is checking in generated code which will cut the dependency completely or just don't use ppx.
Anyway , I don't want to make anyone unhappy, but I believe acknowledging what the awesome OCaml language offers and keeping build high quality software instead of writing ppx is the right way to benefit our community . People built amazing software in less expressive languages like GoLang, I am sure we can do much better!
----- Original Message -----
From: Robert Muller <robert.muller2@gmail.com>
To: HONGBO ZHANG
CC: caml-list@inria.fr, ssp.mryau@gmail.com
At: 22-Apr-2017 15:47:47
The VAX Fortran compiler was a state-of-the-art compiler in its day. The compiler was implemented in BLISS, a systems programming language with a powerful macro system. Each compiler developer invariably authored their own macros to suit their styles. So when one wandered into foreign bits of the compiler they appeared to be written in different dialects of BLISS. We had the dialects of the present developers as well as legacy dialects from years of earlier developers. It was not for nothing that our development machine was called "Babel".
New hires faced a steeper slope in mastering the compiler than they would have had there been no macros. I concluded that macros, at least managed in that style, were injurious to the engineering process.