caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Yaron Minsky <yminsky@janestreet.com>
To: Hongbo Zhang <hzhang295@bloomberg.net>
Cc: Robert Muller <robert.muller2@gmail.com>,
	ssp.mryau@gmail.com, "caml-list@inria.fr" <caml-list@inria.fr>
Subject: Re: [Caml-list] PPX is harmful to our community in the long term
Date: Sat, 22 Apr 2017 21:25:19 -0400	[thread overview]
Message-ID: <CACLX4jS2e453R5+0VeE1Xb9yM6o0JKgCgD7NA3eNDtCxSPmGwg@mail.gmail.com> (raw)
In-Reply-To: <58FBF01301E1003A003901C3_0_51303@p171>

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

On Sat, Apr 22, 2017 at 8:06 PM, Hongbo Zhang (BLOOMBERG/ 731 LEX) <
hzhang295@bloomberg.net> wrote:

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

Jane Street has no special immunity. We use external PPXs, and we in fact
had a bunch of pain around versioning of PPXs, which is precisely why we've
spent real effort on making versioning easier.

Syntactic abstraction is amazingly useful for many different kinds of
programming, open source and industrial alike. Again, I the emphasis should
be on identifying and fixing the problems with PPX, not pushing to avoid it.


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

Did you read Jeremie's post? That solution was considered, but it turns out
to have a lot of issues.


> 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!
>

But as OCaml users know, more expressive languages really do help. I'm not
in favor of adding expressiveness at all costs, but the upside of PPX is
massive, and the problems are eminently manageable, as the emergence of
tools like migrate-parsetree has demonstrated.

y


> ----- 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.
> - 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: 10529 bytes --]

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

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-23  0:06 Hongbo Zhang (BLOOMBERG/ 731 LEX)
2017-04-23  1:25 ` Yaron Minsky [this message]
  -- strict thread matches above, loose matches on Subject: below --
2017-04-22 14:47 Hongbo Zhang (BLOOMBERG/ 731 LEX)
2017-04-22 19:47 ` Robert Muller
2017-04-23  1:30   ` 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=CACLX4jS2e453R5+0VeE1Xb9yM6o0JKgCgD7NA3eNDtCxSPmGwg@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).