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 376747FA5E for ; Sun, 23 Apr 2017 03:31:09 +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=3AuXdUVxb47I5tzpiMHwq2GWz/LSx+4OfEezUN459i?= =?us-ascii?q?sYplN5qZr8y9bnLW6fgltlLVR4KTs6sC0LuK9fi4EUU7or+5+EgYd5JNUxJXwe?= =?us-ascii?q?43pCcHRPC/NEvgMfTxZDY7FskRHHVs/nW8LFQHUJ2mPw6arXK99yMdFQviPgRp?= =?us-ascii?q?OOv1BpTSj8Oq3Oyu5pHfeQtFiT6ybL9oMBm6sRjau9ULj4dlNqs/0AbCrGFSe+?= =?us-ascii?q?RRy2NoJFaTkAj568yt4pNt8Dletuw4+cJYXqr0Y6o3TbpDDDQ7KG81/9HktQPC?= =?us-ascii?q?TQSU+HQRVHgdnwdSDAjE6BH6WYrxsjf/u+Fg1iSWIdH6QLYpUjm58axlVAHnhz?= =?us-ascii?q?sGNz4h8WHYlMpwjL5AoBm8oxBz2pPYbJ2JOPZ7eK7WYNEUSndbXstJVSNBDIOy?= =?us-ascii?q?YYUMAeQcI+hXs5LwqEESoRakHwSgGP/jxz1Oi3Tr3aM6yeMhEQTe0QMiBd0Oqn?= =?us-ascii?q?PUrNPoP6kVUOC1yrLIzTbDbvhL3jr86I3IchEnofGXXrJxcdHcyUs1GAPDkFqQ?= =?us-ascii?q?spDlPymL2esTr2iX9fZvVeWqi2M+rQx6vzuhxt80h4THhY8Z0E3I+Tl5zYovO9?= =?us-ascii?q?G0VFJ3bcS6HJdOsyyWL5V6Tt8mTm1yuys3yqcKtYCmcCUI0pgr2QLTZ+CBfoOV?= =?us-ascii?q?+BzsTvyRLi19hH99eLKwmRKy8U+4x+35Wci010tKrjZLn9XWs3ACzR3T6sydRv?= =?us-ascii?q?t/5Eih3yiA1xvP6uFeP087i7bbJ4Q9zb43k5ofqUXDHinol0XqlKKbeEYp9vK1?= =?us-ascii?q?5+j7YrjqvIGQO5Nohg3kLKgihMiyDfw9MgcUXmib/eq81Kfk/U38WLhLjvg2kq?= =?us-ascii?q?jfsJDBJsQaprW0Aw1P3YYl9Rm/FCum0M4GknYZMFJJYg6Ij4/sO13WOvD3Ee+/?= =?us-ascii?q?g0iwkDds3/3JIqfuApDJLnTalLfhfK1961JHxQoozdFf4opUBasbLPLyXE/xrt?= =?us-ascii?q?3YAQUjPwy62ea0QOl6g7kZU2+VHue8LafWvEXAsvgoKeSWeMkQpTL5JuJ/z/Hr?= =?us-ascii?q?hH4931QaeP/684EQbSWJF+5hJQ28YHz3gcZJRXYPvwwlT/3CilSEXCVPfXu/Q+?= =?us-ascii?q?Q34TRtW9HuNpvKWo342O/J5yy8BJADIzkeUl0=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0D9AQD1AvxYfeXIaSZcGgEBAQECAQEBA?= =?us-ascii?q?QgBAQEBFQEBAQECAQEBAQgBAQEBhAqBDAeDYJt7gjyFZI1Fgg8shXgChAUHQRY?= =?us-ascii?q?BAQEBAQEBAQEBARIBAQkWCFeCMyIBgj8BAQEBAgEjHQEBLAsBBAcECwsKAwwBH?= =?us-ascii?q?QICIQESAQUBChIGExICBYlrAw0IAwudSD+LHWiCJoMIAQEFhBMDCoNlAQEBAQE?= =?us-ascii?q?BAQEBAQEBAQEBAQEBARcIEoZBgV2DGYJRgWkBAUiCWYJfh2IMlR07hxeHJoRJg?= =?us-ascii?q?lWIIIZiixKHPxQfgRUPFwKBNSYdCBgVRBgGhBIqgipZhwiCLgEBAQ?= X-IPAS-Result: =?us-ascii?q?A0D9AQD1AvxYfeXIaSZcGgEBAQECAQEBAQgBAQEBFQEBAQE?= =?us-ascii?q?CAQEBAQgBAQEBhAqBDAeDYJt7gjyFZI1Fgg8shXgChAUHQRYBAQEBAQEBAQEBA?= =?us-ascii?q?RIBAQkWCFeCMyIBgj8BAQEBAgEjHQEBLAsBBAcECwsKAwwBHQICIQESAQUBChI?= =?us-ascii?q?GExICBYlrAw0IAwudSD+LHWiCJoMIAQEFhBMDCoNlAQEBAQEBAQEBAQEBAQEBA?= =?us-ascii?q?QEBARcIEoZBgV2DGYJRgWkBAUiCWYJfh2IMlR07hxeHJoRJglWIIIZiixKHPxQ?= =?us-ascii?q?fgRUPFwKBNSYdCBgVRBgGhBIqgipZhwiCLgEBAQ?= X-IronPort-AV: E=Sophos;i="5.37,236,1488841200"; d="scan'208,217";a="270072610" 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:31:08 +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 1d26Ml-0000D7-6r for caml-list@inria.fr; Sat, 22 Apr 2017 21:31:07 -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_APb-AxSfFQ-Fe; 2017-04-22 21:31:07.177967-04:00 Received: from mail-ua0-f200.google.com ([209.85.217.200]) by mxgoog1.mail.janestreet.com with esmtps (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.89) (envelope-from ) id 1d26Ml-0004iA-44 for caml-list@inria.fr; Sat, 22 Apr 2017 21:31:07 -0400 Received: by mail-ua0-f200.google.com with SMTP id a1so36176629uaf.22 for ; Sat, 22 Apr 2017 18:31:07 -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=pGjL28tm8HhNPjHIuAjf0jKZOSReZvq3Ckr0J7jqgf4=; b=Izc4dttPCdUTfwvhPFYSCUOxzc2saeupQ4vKDvCNGjgDGptzXCaOWDIiOjZQkKMoY7 tBSV7LvfAGDet4SfT4wm+i+jl6llr+Q0Rdfka+MnSVExQqsoZ4r9/+DnYQN50/uKZcoh KTrBWzBmVUrTVkWMWW1dZl7bH6snhbutgF06g= 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=pGjL28tm8HhNPjHIuAjf0jKZOSReZvq3Ckr0J7jqgf4=; b=r5uOiw3qrGsqwk4aNFdjl1h/Chse0hmVu6Aleomgz5icNYOrO+Q9vTMHp6KCUlAAGd Wt/G0+hBTHrfBUX9PYW8cBLFwbu0E66wmeDPBTAOV9Ej3jHTZdkXJPGxtBV6mvhZBK7B X46ppsNzfv4Gi/Yrqkb2ri5pjqlZb7wYRdb3/lyvARA/hjUO411b2WQMCk7gAak16rvc HdH1dWDZHwv/e47VwYk/uZDc31HubCbIu9ks4unl49XKOLqvHKUpq2DPvs2dyEo8cYHq 81T9OmdBWolnVN87962O8CaF4RbpYuIVGIky5nhAsjUCNcHJIMaeeQqveFJtYBomCT9M fNLw== X-Gm-Message-State: AN3rC/6hbqzUJ1VMs5+VBl1f8UGocYQZYdkmMRfjWL1HUm67fdL38fZi /ZtpT/KVa6cctn5cK0G7ldy5ObxLoFNUIzQ91z34p2VnGZISEKfTNMumReCLXlxPH+806o2sUV7 HDc9G3FcxA+/onNrr X-Received: by 10.176.2.84 with SMTP id 78mr9063994uas.30.1492911066777; Sat, 22 Apr 2017 18:31:06 -0700 (PDT) X-Received: by 10.176.2.84 with SMTP id 78mr9063990uas.30.1492911066591; Sat, 22 Apr 2017 18:31:06 -0700 (PDT) MIME-Version: 1.0 Received: by 10.31.206.197 with HTTP; Sat, 22 Apr 2017 18:30:46 -0700 (PDT) In-Reply-To: References: <58FB6CF5026F056200AB00A9_0_40751@p058> From:Yaron Minsky Date: Sat, 22 Apr 2017 21:30:46 -0400 Message-ID: To:Robert Muller Cc:Hongbo Zhang , ssp.mryau@gmail.com, Ocaml Mailing List Content-Type: multipart/alternative; boundary=001a11376f00ce5209054dcb71ed X-JS-Exim-Data-Received: 2017-04-22 21:31:07-0400 X-JS-Processed-by: mailcore Subject: Re: [Caml-list] PPX is harmful to our community in the long term --001a11376f00ce5209054dcb71ed Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable 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=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 >>> >> >> > --001a11376f00ce5209054dcb71ed Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
I very much agree with this sentiment. Restraint in the us= e of PPXs is important. We've added a fairly modest set of PPXs that mo= stly act as language extensions, turned on nearly everywhere in our codebas= e.=C2=A0

We consider the addition of a PPX to be expensi= ve, 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 lang= uages.

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 wand= ered into foreign bits of the compiler they appeared to be written in diffe= rent dialects of BLISS. We had the dialects of the present developers as we= ll as legacy dialects from years of earlier developers. It was not for noth= ing that our development machine was called "Babel".=C2=A0
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 i= n that style, were injurious to the engineering process.
- Bob Mu= ller


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 (camlp= 4, fan, ppx)
But in the end of day, the conc= lusion is the cost is just so huge that it should not be widely used, at le= ast , it should not be *leaked* to end users. ( I remember I had a conversa= tion with the original maintainer of camlp4, Nicolas, about 5 years ago, he= had similar ideas with me)

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

Hence, my two cen= ts: PPX has problems in cross-compilation use cases, but I suppose somethin= g like new tag in META can reslove this issue.
As for me, just ppx_deri= ving* 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:
> 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@bloomberg.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>

--001a11376f00ce5209054dcb71ed--