From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id 0803F7FA5E for ; Sun, 23 Apr 2017 03:25:43 +0200 (CEST) Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=yminsky@janestreet.com; spf=Pass smtp.mailfrom=yminsky@janestreet.com; spf=None smtp.helo=postmaster@mxout3.mail.janestreet.com Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of yminsky@janestreet.com) identity=pra; client-ip=38.105.200.229; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="yminsky@janestreet.com"; x-sender="yminsky@janestreet.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of yminsky@janestreet.com designates 38.105.200.229 as permitted sender) identity=mailfrom; client-ip=38.105.200.229; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="yminsky@janestreet.com"; x-sender="yminsky@janestreet.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@mxout3.mail.janestreet.com) identity=helo; client-ip=38.105.200.229; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="yminsky@janestreet.com"; x-sender="postmaster@mxout3.mail.janestreet.com"; x-conformance=sidf_compatible IronPort-PHdr: =?us-ascii?q?9a23=3AAztxjxcTqqVDcK2rT85HnseIlGMj4u6mDksu8pMi?= =?us-ascii?q?zoh2WeGdxcS6YR7h7PlgxGXEQZ/co6odzbGH7+a4ASQp2tWoiDg6aptCVhsI24?= =?us-ascii?q?09vjcLJ4q7M3D9N+PgdCcgHc5PBxdP9nC/NlVJSo6lPwWB6nK94iQPFRrhKAF7?= =?us-ascii?q?Ovr6GpLIj8Swyuu+54Dfbx9GiTe5br5+Ngm6oRnMvcQKnIVuLbo8xAHUqXVSYe?= =?us-ascii?q?RWwm1oJVOXnxni48q74YBu/SdNtf8/7sBMSar1cbg2QrxeFzQmLns65Nb3uhnZ?= =?us-ascii?q?TAuA/WUTX2MLmRdVGQfF7RX6XpDssivms+d2xSeXMdHqQb0yRD+v9LlgRgP2hy?= =?us-ascii?q?gbNj456GDXhdJ2jKJHuxKquhhzz5fJbI2JKPZye6XQds4YS2VcRMZcTy5OAo28?= =?us-ascii?q?YYUBDOQPIPhWoJXmqlQUsRezHxOhCP/zxjJKgHL9wK000/4mEQHDxAEvHcgBsG?= =?us-ascii?q?7TrNXzKawcVuG1zK/TzTXAb/JdxDDw6YjNchAgp/GMRrFwcMrKxEktDQzFiEuf?= =?us-ascii?q?qZf5PzOPyOsCrXSb4/B8WuKojm4qsgd8qSWsyMc0koTEiIEYxkrZ+SllwIs5P8?= =?us-ascii?q?O0RFJnbdK+DpdcqSWXO5NoTs8+R2xkoiU3x70ctZKlYSQHyo4rywPbZvGEdYWD?= =?us-ascii?q?/wjtW/yLIThigXJoYLK/iAi28Uin0uD8U8a10FFXripZnNTArHUN2AbS6siDUP?= =?us-ascii?q?d9/F2u2TCR2ADI9uFEO147mrTHK5I73rEwkZ8TvVzCHi/whkr2kLebe0sn9+Sy?= =?us-ascii?q?9ujrfrXrqoWCO4Nolg3yKLoiltK7DOggNwgBRWmb+eCy1L35+k35Ra1Hj/0zkq?= =?us-ascii?q?nYtpDaPscbp66iDg9XyIkj7QiwDyy60NQCg3YIMk5FdAibgIjuPlHCOOr4Auun?= =?us-ascii?q?g1SwjDdrwOjLMaH7DZXIKnjPibPhfbdm605A0wcz1tBe55dMCr4bOv7zW0nxtM?= =?us-ascii?q?bZDhAjKQC0zfznW51B0dY+XmSACKjRAqPbt1DAsuI9I+CKa9VE5R73L/8i4vTj?= =?us-ascii?q?l3B/n1IBK/qHx5wSPUGxBPNga2CYZ2Hvk59VAGILuBE9XcTogVuPSiJJanuuGa?= =?us-ascii?q?k742doW8qdEY7fS9X10/S61yChE8gTPzgeBw=3D=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0D/AQDIAfxYfeXIaSZcGgEBAQECAQEBA?= =?us-ascii?q?QgBAQEBFQEBAQECAQEBAQgBAQEBhAqBDAeDYIEEmniCPIVkj1QsgkKDNgKEBQd?= =?us-ascii?q?DFAEBAQEBAQEBAQEBEgEBCRYIV4IzIgGCPwEBAQECASMdAQEsCwEEBwQLCwMHA?= =?us-ascii?q?wwBHQICIQESAQUBChIGEwgKAgUCiWkDDQgDC51FP4sdaIImgwgBAQWEFAMKg2U?= =?us-ascii?q?BAQEBAQEBAwEBAQEBAQEBARcIEoZBgV2CD4EKglGBaQEBSIJZgl+HYgyVHTuHF?= =?us-ascii?q?4cmhEmCAFWIICOGP4sShz8UH4EVDyeBJyYdCBgVRBgGhBIqDxyBf1mHCIIuAQE?= =?us-ascii?q?B?= X-IPAS-Result: =?us-ascii?q?A0D/AQDIAfxYfeXIaSZcGgEBAQECAQEBAQgBAQEBFQEBAQE?= =?us-ascii?q?CAQEBAQgBAQEBhAqBDAeDYIEEmniCPIVkj1QsgkKDNgKEBQdDFAEBAQEBAQEBA?= =?us-ascii?q?QEBEgEBCRYIV4IzIgGCPwEBAQECASMdAQEsCwEEBwQLCwMHAwwBHQICIQESAQU?= =?us-ascii?q?BChIGEwgKAgUCiWkDDQgDC51FP4sdaIImgwgBAQWEFAMKg2UBAQEBAQEBAwEBA?= =?us-ascii?q?QEBAQEBARcIEoZBgV2CD4EKglGBaQEBSIJZgl+HYgyVHTuHF4cmhEmCAFWIICO?= =?us-ascii?q?GP4sShz8UH4EVDyeBJyYdCBgVRBgGhBIqDxyBf1mHCIIuAQEB?= X-IronPort-AV: E=Sophos;i="5.37,236,1488841200"; d="scan'208,217";a="270072376" Received: from mxout3.mail.janestreet.com ([38.105.200.229]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 23 Apr 2017 03:25:41 +0200 Received: from [172.27.56.68] (helo=tot-qpr-mailcore1) by mxout3.mail.janestreet.com with esmtps (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.89) (envelope-from ) id 1d26HU-0006y7-EL for caml-list@inria.fr; Sat, 22 Apr 2017 21:25:40 -0400 X-JS-Flow: external X-JS-Scanner-attachment: (ok) No attachments Received: by tot-qpr-mailcore1 with JS-mailcore (0.1) (envelope-from ) id BY_AKU-AxSfFQ-Nm; 2017-04-22 21:25:40.438694-04:00 Received: from mail-ua0-f198.google.com ([209.85.217.198]) by mxgoog1.mail.janestreet.com with esmtps (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.89) (envelope-from ) id 1d26HU-00033A-CR for caml-list@inria.fr; Sat, 22 Apr 2017 21:25:40 -0400 Received: by mail-ua0-f198.google.com with SMTP id p8so36740454uaa.4 for ; Sat, 22 Apr 2017 18:25:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=janestreet.com; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=NKhM72EtoRvZkYoUJ1DNnbO+zdSiTM2/tI1JQvgMgR8=; b=rN2McnUDBw/sXbrhTLe+Dx/K4ZPYHAqUbhLvAqUZYgjF4Oz+lDgVULHLZKlPVAIOo9 6ZVv8xqhTO9OsrDpOqPwnXMwiq7vBDH9vVgl2xuGytUKVAKmYzKgFzG+uX6qIhJCb0MF pY+RvQNo9HaJbOeDG/PV4w+ahAPyvUpOYoQa8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=NKhM72EtoRvZkYoUJ1DNnbO+zdSiTM2/tI1JQvgMgR8=; b=ReIdzHAS59RR3qkRep7VOIpILpNWETyM2SMPR9PMziVL1jRqaU7Xqh6MueSeeaQLBC 5BBx2S1Rjm6LrKicdyM4ndBGdaouBEzIDKDuEHSFdUsUtxboKCb/nc+YGTGuO8bOY++t ktI/UUtL9HbHh+kmm6lllYmdegRZtYBDrv/BBqEjqZBaeWmskgm4rXR29NH7Yv+2acfz 3FXSF6m01W3w7lPPG+eyvXgWGPhgJSAwI0q0eAGooqhYeDtsdsSFIpNTrBfBt/OiyBLf wLYLCor1uNxJX8Ng0oxo+9HzYpMMvViR732aPGDdzF57inmQnxWuski0Af5/MFpTguRP dCfw== X-Gm-Message-State: AN3rC/4qh8mJotwDSIB6H0HmlJqPeeGkB5VOesjouCvYatKyyeS88TTq C7E3F84YidiqVt/bPr9U1oiGrNLz//x9/ZjyUfeADVd/1zOMRUzkHX7Mqm/5jPE31bnsqq6U217 MscP3cFD5x7Uhxkos X-Received: by 10.159.54.145 with SMTP id p17mr672868uap.51.1492910739833; Sat, 22 Apr 2017 18:25:39 -0700 (PDT) X-Received: by 10.159.54.145 with SMTP id p17mr672864uap.51.1492910739626; Sat, 22 Apr 2017 18:25:39 -0700 (PDT) MIME-Version: 1.0 Received: by 10.31.206.197 with HTTP; Sat, 22 Apr 2017 18:25:19 -0700 (PDT) In-Reply-To: <58FBF01301E1003A003901C3_0_51303@p171> References: <58FBF01301E1003A003901C3_0_51303@p171> From:Yaron Minsky Date: Sat, 22 Apr 2017 21:25:19 -0400 Message-ID: To:Hongbo Zhang Cc:Robert Muller , ssp.mryau@gmail.com, "caml-list@inria.fr" Content-Type: multipart/alternative; boundary=94eb2c03baca517f59054dcb5e78 X-JS-Exim-Data-Received: 2017-04-22 21:25:40-0400 X-JS-Processed-by: mailcore Subject: Re: [Caml-list] PPX is harmful to our community in the long term --94eb2c03baca517f59054dcb5e78 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable 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 > 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 >> 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=C3=BAs 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 >>> >> >> > --94eb2c03baca517f59054dcb5e78 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
On S= at, Apr 22, 2017 at 8:06 PM, Hongbo Zhang (BLOOMBERG/ 731 LEX) <hzha= ng295@bloomberg.net> wrote:
Exactly, for companies like janestreet, they may not feel its pa= in since they didn't depend on external ppx, release software only work= s 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 immunit= y. We use external PPXs, and we in fact had a bunch of pain around versioni= ng of PPXs, which is precisely why we've spent real effort on making ve= rsioning easier.

Syntactic abstraction is amazingl= y useful for many different kinds of programming, open source and industria= l alike. Again, I the emphasis should be on identifying and fixing the prob= lems with PPX, not pushing to avoid it.
=C2=A0
But for external open source communities, it= 9;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 u= se ppx.

Did you read Jeremie= 9;s post? That solution was considered, but it turns out to have a lot of i= ssues.
=C2=A0
Anywa= y , I don't want to make anyone unhappy, but I believe acknowledging wh= at the awesome OCaml language offers and keeping build high quality softwar= e 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 massi= ve, and the problems are eminently manageable, as the emergence of tools li= ke migrate-parsetree has demonstrated.

y
=C2=A0
----- Original Mes= sage -----
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-t= he-art compiler in its day. The compiler was implemented in BLISS, a system= s programming language with a powerful macro system. Each compiler develope= r invariably authored their own macros to suit their styles. So when one wa= ndered into foreign bits of the compiler they appeared to be written in dif= ferent 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 no= thing that our development machine was called "Babel".=C2=A0
<= div>New hires faced a steeper slope in mastering the compiler than they wou= ld 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 ag= ree it's useful , and that's why I wrote hundreds of thousands of l= ines 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 *le= aked* to end users. ( I remember I had a conversation with the original mai= ntainer 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

<= blockquote>
Hence, my two cents: PPX has problems in cr= oss-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=C3=BAs Gallego Arias <e@x80.org>:
"Hongbo Zhang (BLOOMBERG/ 731 LEX)" <hzhang295@bloomberg.net> writes:
<= br> > Yes, that's exactly what I suggested in the beginning!

Maybe I interpret the word "harmful" differently, but IMVH= O 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@bloom= berg.net> writes:

> calling it 'madness' is disrespectful

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

You wrote:

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

but if you meant:

=C2=A0"PPX seems quite unstable these days, I wonder how could we impr= ove
=C2=A0 long-term stability?"

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

Best regards!
Emilio

--
Caml-list mailing list.=C2=A0 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

<= br><= /div>
--94eb2c03baca517f59054dcb5e78--