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 978C77FA5E for ; Sat, 22 Apr 2017 21:47:28 +0200 (CEST) Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=robert.muller2@gmail.com; spf=Pass smtp.mailfrom=robert.muller2@gmail.com; spf=None smtp.helo=postmaster@mail-yb0-f179.google.com Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of robert.muller2@gmail.com) identity=pra; client-ip=209.85.213.179; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="robert.muller2@gmail.com"; x-sender="robert.muller2@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of robert.muller2@gmail.com designates 209.85.213.179 as permitted sender) identity=mailfrom; client-ip=209.85.213.179; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="robert.muller2@gmail.com"; x-sender="robert.muller2@gmail.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@mail-yb0-f179.google.com) identity=helo; client-ip=209.85.213.179; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="robert.muller2@gmail.com"; x-sender="postmaster@mail-yb0-f179.google.com"; x-conformance=sidf_compatible IronPort-PHdr: =?us-ascii?q?9a23=3AWMIrxR14YjhsVBs8smDT+DRfVm0co7zxezQtwd8Z?= =?us-ascii?q?se0eLvad9pjvdHbS+e9qxAeQG96Kt7Qc06L/iOPJYSQ4+5GPsXQPItRndiQuro?= =?us-ascii?q?EopTEmG9OPEkbhLfTnPGQQFcVGU0J5rTngaRAGUMnxaEfPrXKs8DUcBgvwNRZv?= =?us-ascii?q?JuTyB4Xek9m72/q89pDXbAhEniaxba9vJxiqsAvdsdUbj5F/Iagr0BvJpXVIe+?= =?us-ascii?q?VSxWx2IF+Yggjx6MSt8pN96ipco/0u+dJOXqX8ZKQ4UKdXDC86PGAv5c3krgfM?= =?us-ascii?q?QA2S7XYBSGoWkx5IAw/Y7BHmW5r6ryX3uvZh1CScIMb7Vq4/Vyi84Kh3SR/okC?= =?us-ascii?q?YHOCA/8GHLkcx7kaZXrAu8qxBj34LYZYeYP+d8cKzAZ9MXXWhOXshRWSJPAY2y?= =?us-ascii?q?cpUBAPYaMOlCs4XwvUEDoQeiCQSuAu7k1z9GhmXx3a0/y+kvDQbG0xc+ENIUrH?= =?us-ascii?q?TfsdL7NLoWUeCx0qbI1yjIYvRM2Tf684fHbAohoe2WUbJ1bMrRzU0vGB3fjlmO?= =?us-ascii?q?soHlMDaV2f4Ms2if9eZvSeWvi2s+pgx3vzOhxd8sh5HXio4Jzl3I7yZ0zYYvKd?= =?us-ascii?q?GmVUJ2b8SoHIZSuiyeMYZ9X9ksTHtyuCkgz70LoZ67czYOyJQg3xPfbuaIc4mM?= =?us-ascii?q?4h76VOeeOit0iGtreL6ihRu/9VKsyuL7Vsmz31ZKqjRKnsPQuXAK0hzf8smHSv?= =?us-ascii?q?1j8Ue9wTuDyRzf5+VeLU03lafXMYAtzqM+m5YJrEjOHCv7lF3zjKCMd0Uk/uao?= =?us-ascii?q?6/7gYrXjvpKcLYh0hRrgPaQ0hsyzG+E4MhUKX2if5+u8zqPv8Fb2QLVPlPI2k6?= =?us-ascii?q?3ZvIrGKsQco661GxVV3Zo76xajEzem18wVkmUdI1JAfBKLlozpO1DVIPDkFvq/?= =?us-ascii?q?mFStkDJzx//cJLHhA5PNLmLCkLj7Z7p95VRcm0IPyoV/4JRbALZJEvL6XEC54N?= =?us-ascii?q?zKDhY/PFblns7tDNJ604kTQ23JBKKFZvD8q1iNs9goKeSWeMcwpTL5JuJts+Tp?= =?us-ascii?q?h3IjhRkYYK2t0IFNQH+9F/ViZU6eZCy/0Z86DW4Ws19mH6TRg1qYXGsWPi7qUg?= =?us-ascii?q?=3D=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0BTAQDksvtYhrPVVdFcGgEBAQECAQEBA?= =?us-ascii?q?QgBAQEBFQEBAQECAQEBAQgBAQEBhAqBDAeDYJt8gjyVOCyFeAKEBQdCFQEBAQE?= =?us-ascii?q?BAQEBAQEBEgEBAQgLCwgoL4IzIgGCPwEBAQECASMdARsSCwEDAQcEBgULAwcDD?= =?us-ascii?q?AEdAgIhAQERAQUBChIGExICBYlqAQMNCA6dSj+MBYIEBQEcgwkFg04KGScDCla?= =?us-ascii?q?DDwEBAQEBAQQBAQEBAQEaAgYSiB6DGYJRgWkBAUiCWYJfBYEsAYYwDJUdOQKBR?= =?us-ascii?q?IVThyaESYJVjwKLEoc/FB+BFQ8mgSgmHSBZGFGDRyofggskNYcIgi4BAQE?= X-IPAS-Result: =?us-ascii?q?A0BTAQDksvtYhrPVVdFcGgEBAQECAQEBAQgBAQEBFQEBAQE?= =?us-ascii?q?CAQEBAQgBAQEBhAqBDAeDYJt8gjyVOCyFeAKEBQdCFQEBAQEBAQEBAQEBEgEBA?= =?us-ascii?q?QgLCwgoL4IzIgGCPwEBAQECASMdARsSCwEDAQcEBgULAwcDDAEdAgIhAQERAQU?= =?us-ascii?q?BChIGExICBYlqAQMNCA6dSj+MBYIEBQEcgwkFg04KGScDClaDDwEBAQEBAQQBA?= =?us-ascii?q?QEBAQEaAgYSiB6DGYJRgWkBAUiCWYJfBYEsAYYwDJUdOQKBRIVThyaESYJVjwK?= =?us-ascii?q?LEoc/FB+BFQ8mgSgmHSBZGFGDRyofggskNYcIgi4BAQE?= X-IronPort-AV: E=Sophos;i="5.37,235,1488841200"; d="scan'208,217";a="270061690" Received: from mail-yb0-f179.google.com ([209.85.213.179]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/AES128-GCM-SHA256; 22 Apr 2017 21:47:24 +0200 Received: by mail-yb0-f179.google.com with SMTP id 81so52968578ybp.0 for ; Sat, 22 Apr 2017 12:47:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=zq13HlZ6WMs0YmmVjvnBwz8QuRLv7Q3iS5yX+bjHQkw=; b=RlBqg4bh/FF98S1qvEO2KtFS3GkmbbID/xe9at6lfIyHgZvGHyD0h95JVrkAjH4MWC 5es7Ehq7OXem4avif2PXhm761vdiyq4koslxmX5nohakGCV2jxid/1torRh5FxXqCXNQ EaO05Sn++OnURUCgXj55NI7LCUZUebHnk2zO58NRQSDu6rUBCnjf3Y5kbJNcZaRf6M99 VSp0LllzRksVq86F4XgTZGNw5mfClcm6Q+YEH4vVnvg1TZg4xohKjrhekuGPC6C9KI4k v8bzEvNRfBubBdyaXtLtq8yJwfbgtV6Ue7ycCT/Z64TuRAbhzPUtAneeC7/g9EM+fN9u j9yw== 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=zq13HlZ6WMs0YmmVjvnBwz8QuRLv7Q3iS5yX+bjHQkw=; b=mNjPxIN+G9L6Iu35nlzE4Y3MPIIKawGGbcGgfXTcFDZVWP3RMby0EJuxHIUpZ5LXdy aO0IHx/vDWZ/AJx9JrjyJh0ILwiIzsiQnSZwSiVYF/qHoqT0qI/yJnL9IpfIyBnurray OZI2833jh3pVH5tyaFUMG1BRWwb/MtiFYmEWi5QD+aMIjLZe7t1SW8n005DY39dS3ZJ4 8ja89/kE8tT3VR/F6yzGhskB5DNT5nmT3u0kzIrqAz12dXOlWfCH0XpJuNklt2IRaVLy OWAlvzR3LRPI0F3RT1+130YtHsOXUOfF/QvCiqchcdbXjk53sIfIKINrcklOO0e8BEIU jDYw== X-Gm-Message-State: AN3rC/7xnqMoEtlOT9anXEFdSJABZTyecYP/W2ekLBSM/sKLxCEf1r00 XvlwSQdegsI+wtCydl5F8ApaIhkN8Q== X-Received: by 10.37.20.135 with SMTP id 129mr2189713ybu.110.1492890443114; Sat, 22 Apr 2017 12:47:23 -0700 (PDT) MIME-Version: 1.0 Received: by 10.13.212.85 with HTTP; Sat, 22 Apr 2017 12:47:22 -0700 (PDT) In-Reply-To: <58FB6CF5026F056200AB00A9_0_40751@p058> References: <58FB6CF5026F056200AB00A9_0_40751@p058> From: Robert Muller Date: Sat, 22 Apr 2017 15:47:22 -0400 Message-ID: To: Hongbo Zhang Cc: ssp.mryau@gmail.com, Ocaml Mailing List Content-Type: multipart/alternative; boundary=001a113e7b4a8cf385054dc6a46d Subject: Re: [Caml-list] PPX is harmful to our community in the long term --001a113e7b4a8cf385054dc6a46d Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable 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 >> > > --001a113e7b4a8cf385054dc6a46d Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
The VAX Fortran compiler was a state-of-the-art compiler i= n its day. The compiler was implemented in BLISS, a systems programming lan= guage with a powerful macro system. Each compiler developer invariably auth= ored their own macros to suit their styles. So when one wandered into forei= gn bits of the compiler they appeared to be written in different dialects o= f BLISS. We had the dialects of the present developers as well as legacy di= alects from years of earlier developers. It was not for nothing that our de= velopment machine was called "Babel".=C2=A0
New hires fac= ed 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, w= ere injurious to the engineering process.
- Bob Muller


O= n 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 hun= dreds 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 jus= t so huge that it should not be widely used, at least , it should not be *l= eaked* to end users. ( I remember I had a conversation with the original ma= intainer of camlp4, Nicolas, about 5 years ago, he had similar ideas with m= e)


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

H= ence, 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 m= e, just ppx_deriving* by whitequark is yet one example of usefullness of PP= X.

WBR, ssp
=
2017-04-22 5:10 GMT+06:00 Emilio Jes=C3=BAs = Gallego Arias <e@x80.org>:
"Hongbo Zh= ang (BLOOMBERG/ 731 LEX)" <hzhang295@bloomberg.net&= gt; 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<= br>

--
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>
--001a113e7b4a8cf385054dc6a46d--