I very much agree with this sentiment. Restraint in the use of PPXs is important. We've added a fairly modest set of PPXs that mostly act as language extensions, turned on nearly everywhere in our codebase. We consider the addition of a PPX to be expensive, and especially a project-specific one. We only do it if it makes for a really large improvement. I totally agree that you don't want different subsets of your codebase to feel as if they were written in different languages. y On Sat, Apr 22, 2017 at 3:47 PM, Robert Muller wrote: > 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 >> 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 : >> >>> "Hongbo Zhang (BLOOMBERG/ 731 LEX)" 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)" 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 >>> >> >> >