caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Yaron Minsky <yminsky@janestreet.com>
To: Robert Muller <robert.muller2@gmail.com>
Cc: Hongbo Zhang <hzhang295@bloomberg.net>,
	ssp.mryau@gmail.com, Ocaml Mailing List <caml-list@inria.fr>
Subject: Re: [Caml-list] PPX is harmful to our community in the long term
Date: Sat, 22 Apr 2017 21:30:46 -0400	[thread overview]
Message-ID: <CACLX4jTDZQ7SSkjAOW7w1ThqXRCzq3ku5c9bjT2=Mje=UhnrRA@mail.gmail.com> (raw)
In-Reply-To: <CAKmYinkSo-cc7tB45g87Mm8h9wLv-h39-nbkQ-JBCqXQ1papig@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 3791 bytes --]

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 <robert.muller2@gmail.com>
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 <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
>>>
>>
>>
>

[-- Attachment #2: Type: text/html, Size: 6921 bytes --]

  reply	other threads:[~2017-04-23  1:31 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-22 14:47 Hongbo Zhang (BLOOMBERG/ 731 LEX)
2017-04-22 19:47 ` Robert Muller
2017-04-23  1:30   ` Yaron Minsky [this message]
  -- strict thread matches above, loose matches on Subject: below --
2017-04-23  0:06 Hongbo Zhang (BLOOMBERG/ 731 LEX)
2017-04-23  1:25 ` Yaron Minsky
2017-04-21 21:48 Hongbo Zhang (BLOOMBERG/ 731 LEX)
2017-04-21 23:10 ` Emilio Jesús Gallego Arias
2017-04-22 12:49   ` Serge Sivkov
2017-04-21 19:23 Hongbo Zhang (BLOOMBERG/ 731 LEX)
2017-04-21 21:17 ` Fabrice Le Fessant
2017-04-28 11:07   ` Olaf Hering
2017-04-28 13:04     ` Anil Madhavapeddy
2017-04-28 14:50       ` Yaron Minsky
2017-04-28 14:55         ` Jacques Carette
2017-05-11  9:37           ` Jeremie Dimino
2017-04-21 15:41 Hongbo Zhang (BLOOMBERG/ 731 LEX)
2017-04-21 16:04 ` Yotam Barnoy
2017-04-21 16:43   ` Gerd Stolpmann
2017-04-21 17:11   ` Alain Frisch
2017-04-21 18:28     ` Jeremie Dimino
2017-04-21 16:55 ` Francois BERENGER
2017-04-21 19:11 ` Yaron Minsky
2017-04-21 19:22 ` Emilio Jesús Gallego Arias

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CACLX4jTDZQ7SSkjAOW7w1ThqXRCzq3ku5c9bjT2=Mje=UhnrRA@mail.gmail.com' \
    --to=yminsky@janestreet.com \
    --cc=caml-list@inria.fr \
    --cc=hzhang295@bloomberg.net \
    --cc=robert.muller2@gmail.com \
    --cc=ssp.mryau@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).