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.
- Bob Muller


On Sat, Apr 22, 2017 at 10:47 AM, Hongbo Zhang (BLOOMBERG/ 731 LEX) <hzhang295@bloomberg.net> wrote:
Yes, I agree it's useful , and that's why I wrote hundreds of thousands of lines of code in syntactic meta-programming (camlp4, fan, ppx)
But in the end of day, the conclusion is the cost is just so huge that it should not be widely used, at least , it should not be *leaked* to end users. ( I remember I had a conversation with the original maintainer of camlp4, Nicolas, about 5 years ago, he had similar ideas with me)


----- Original Message -----
From: Serge Sivkov <ssp.mryau@gmail.com>
To: caml-list@inria.fr
At: 22-Apr-2017 08:49:40

Hence, my two cents: PPX has problems in cross-compilation use cases, but I suppose something like new tag in META can reslove this issue.
As for me, just ppx_deriving* by whitequark is yet one example of usefullness of PPX.

WBR, ssp

2017-04-22 5:10 GMT+06:00 Emilio Jesús Gallego Arias <e@x80.org>:
"Hongbo Zhang (BLOOMBERG/ 731 LEX)" <hzhang295@bloomberg.net> writes:

> Yes, that's exactly what I suggested in the beginning!

Maybe I interpret the word "harmful" differently, but IMVHO I have to
strongly disagree with your choice of subject in the original mail.

Not only PPX has not been harmful for me, but it has been a life-saver
tool that has enabled significant progress towards more productive
research.

"Hongbo Zhang (BLOOMBERG/ 731 LEX)" <hzhang295@bloomberg.net> writes:

> calling it 'madness' is disrespectful

Personally, I fully subscribe Yaron's message and I see nothing
disrespectful in suggesting that abandoning syntactic abstractions is a
very bad idea.

You wrote:

 "the OCaml library developer should avoid PPX as much as you can",

but if you meant:

 "PPX seems quite unstable these days, I wonder how could we improve
  long-term stability?"

I'd have to admit that message didn't reach to me.

Best regards!
Emilio

--
Caml-list mailing list.  Subscription management and archives:
https://sympa.inria.fr/sympa/arc/caml-list
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs