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 mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id 21CB17FA5E for ; Fri, 28 Apr 2017 15:04:27 +0200 (CEST) Authentication-Results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=anil@recoil.org; spf=None smtp.mailfrom=anil@recoil.org; spf=None smtp.helo=postmaster@bark.recoil.org Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of anil@recoil.org) identity=pra; client-ip=5.153.225.51; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="anil@recoil.org"; x-sender="anil@recoil.org"; x-conformance=sidf_compatible Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of anil@recoil.org) identity=mailfrom; client-ip=5.153.225.51; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="anil@recoil.org"; x-sender="anil@recoil.org"; x-conformance=sidf_compatible Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of postmaster@bark.recoil.org) identity=helo; client-ip=5.153.225.51; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="anil@recoil.org"; x-sender="postmaster@bark.recoil.org"; x-conformance=sidf_compatible IronPort-PHdr: =?us-ascii?q?9a23=3AFKaK5R2CbVGNr+DGsmDT+DRfVm0co7zxezQtwd8Z?= =?us-ascii?q?seIXK/ad9pjvdHbS+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+d8cKzAZ9MXXXZOUclMWSJBAIyy?= =?us-ascii?q?YYQBAekPPehGqIfwvEcOrQK7BQWwBOPj1iFEi3nr1qM6yeQhFgTG0RQ8EtIIsX?= =?us-ascii?q?TUqMj+OqAIXu+ozKnH1yvDYOlO2Tjj9YfHbxAgquyLUL1qd8rRyE0vGhjfjlqO?= =?us-ascii?q?tYPlODKV1uAXv2ic9epgWvuihmg6oA9yujii3schhpPUio8VxF3I7zt1zJg1KN?= =?us-ascii?q?GiSEN3fMaoHIZUuiyVLYd7QN0uT3t1tCs7y7AKo4C3cS4Xw5o93RHfceaIc42Q?= =?us-ascii?q?7xLjSumRJTB4iWp+d72lnRay8lKsyvfiWcao11ZKry5FnsPLtnAX2Bzf8smHSv?= =?us-ascii?q?1j8Ue9wTuC1xrf5vxELE06j6bXNYAtz74qmpcTrEjPBir2l1/3jK+SeEUk4O+o?= =?us-ascii?q?6+H/b7r8oJ+cNot0hxrkMqswhsO/BuU4MgwUU2ic4+S826Xv/VflT7VSkv02jq?= =?us-ascii?q?7ZvYjeJcsFqK62HRRV0p055Ba5FDqn0dUYnXwcI1JfYh2LlYnpO1fUIPD5F/iz?= =?us-ascii?q?mVqskC1zzfDcIrLhGonNLmTEkLr5Ybly8UtcyA4qwdBb5pJUEa0BLenoWk7xsd?= =?us-ascii?q?zYFgU2Pxa1w+bhEtV915kRVXiBAq+DY+vutgqv4usha8mBfo4Tt36pLPws6dbn?= =?us-ascii?q?gGc3nVJbcaT/jrUNb3XtN/JnJw28aHbsi8kICWoGsht2GOXsiVmqSzNYYHe2Ga?= =?us-ascii?q?Um6WdoW8qdEY7fS9X10/S61yChE8gTPzgeBw=3D=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0AABACQPANZ/zPhmQVeHQEFAQsBFwEBB?= =?us-ascii?q?AEBCgEBgyphgQyOc5Bcl3skgkqDNgIIhCdCFQEBAQEBAQEBAQEBaiiCMyIBgj8?= =?us-ascii?q?BAQEBAgEOLAYDASEUAQEDCwsYLlcGExSKAwwBrgKDEYMJBwKHdAEBAQEBBQEBA?= =?us-ascii?q?QEBGgEIiGiCb4RfgzSCMZ1VhxmLc2yBa48Hj2mEPjUigQp8CEQSAYJMhBJ0h2w?= =?us-ascii?q?BAQE?= X-IPAS-Result: =?us-ascii?q?A0AABACQPANZ/zPhmQVeHQEFAQsBFwEBBAEBCgEBgyphgQy?= =?us-ascii?q?Oc5Bcl3skgkqDNgIIhCdCFQEBAQEBAQEBAQEBaiiCMyIBgj8BAQEBAgEOLAYDA?= =?us-ascii?q?SEUAQEDCwsYLlcGExSKAwwBrgKDEYMJBwKHdAEBAQEBBQEBAQEBGgEIiGiCb4R?= =?us-ascii?q?fgzSCMZ1VhxmLc2yBa48Hj2mEPjUigQp8CEQSAYJMhBJ0h2wBAQE?= X-IronPort-AV: E=Sophos;i="5.37,388,1488841200"; d="scan'208";a="221858517" Received: from bark.recoil.org ([5.153.225.51]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 28 Apr 2017 15:04:26 +0200 Received: from bark.recoil.org (localhost [127.0.0.1]) by bark.recoil.org (OpenSMTPD) with ESMTP id dbb7eb53; Fri, 28 Apr 2017 14:04:24 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=recoil.org; h=content-type :mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; s= selector1; bh=2J3W9qGe++iLzVkDdj2egw3LsXY=; b=II9O1UOzzGW819uKsm ieDyQXGPDWRyuT9JMDvvcYOKIJ2JaiF/N8opvXVNqs5PwWeOIS9njpqTX0zdyO9/ ScecIEeyY4YA32BEGOBsMUy691LVYeGzrfTSOvYUHHmc/amLJByPGBRS8SZlA0Ir ki4wcZZYngTkkpmb5CeWHlDD8= DomainKey-Signature: a=rsa-sha1; c=nofws; d=recoil.org; h=content-type :mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; q=dns; s= selector1; b=VzVZDwBTFSSKqrP9fdKgFOvqWgB7qNMYVasbhb83jde4Q18Sw7i OXyUGK0Btd61Ns3RLNXAGCWFQWz18KETltPQYQ1ZjWL1/fkp1VFXngrbnTUoAidL B8vgsjixj/P4VXYYuw42+0FfZHpvoDsYqkChMKNSF8WltSvQj2iNkALk= Received: from speck.cam.docker.com (mail.astons-coaches.co.uk [194.72.166.2]) by bark.recoil.org (OpenSMTPD) with ESMTPSA id d2fcb766 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO); Fri, 28 Apr 2017 14:04:24 +0100 (BST) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) From: Anil Madhavapeddy In-Reply-To: <20170428110718.GB13305@aepfle.de> Date: Fri, 28 Apr 2017 14:04:22 +0100 Cc: Fabrice Le Fessant , Hongbo Zhang , yminsky@janestreet.com, caml-list@inria.fr Content-Transfer-Encoding: quoted-printable Message-Id: <05BE6A9C-9AFB-4AD2-B577-23F4B88B86B3@recoil.org> References: <58FA5C34006504E200390857_0_88872@msllnjpmsgsv06> <20170428110718.GB13305@aepfle.de> To: Olaf Hering X-Mailer: Apple Mail (2.3273) Subject: Re: [Caml-list] PPX is harmful to our community in the long term On 28 Apr 2017, at 12:07, Olaf Hering wrote: >=20 > On Fri, Apr 21, Fabrice Le Fessant wrote: >=20 >> A lot of people use `autoconf` to generate `./configure` scripts, and the >> standard practice is to keep the `./configure` script so that people don= 't need >> to run `autoconf` to just compile and install the software. Maybe projec= ts >=20 > This is and was a huge mistake to promote 'configure&&make' instead of > autogen.sh&&configure&&make. Having a set of uptodate autotools > installed is easy and cheap, they are not runtime dependencies. The > result of that wrongdoing is a huge pile of broken and/or incomplete conf= igure.ac. Indeed -- we spent years in OpenBSD dealing with patching broken versions of libtool scripts that embedded incorrect behaviour on our particular plat= forms, and were stubbornly included in upstream distributions without being regene= rated. > Do not repeat that mistake, whatever it means in the OCaml world. A similar analogue in the OCaml world may be the inclusion of autogenerated files from _oasis. The inclusion of the autogenerated files like myocamlbu= ild.ml was a holdover from a pre-opam world when it was painful to install all the build dependencies of OASIS. Nowadays, it's quite easy to install oasis and run `oasis setup` in a proje= ct to get the latest build rules, and the checked in autogenerated files only get in the way and/or are increasingly complex due to having to deal with multiple OCaml versions (e.g. for String.lowercase vs String.lowercase_asci= i). Bundling pre-evaluated ppx output in a release tarball runs the same risk... Our experience in Mirage with PPX has been to find a balance -- we do not l= et it proliferate beyond type_conv usage or ppx_cstruct for binary formats. S= ome libraries (such as the TLS stack) do not use it all. One of the heaviest us= es of camlp4 in the past for us was the pa_lwt syntax extension, and most libr= aries have gone towards explicit Lwt.bind() calls instead of using the ppx altern= ative. I'm hopeful that ocaml-migrate-parsetree will make it easier for us to test common libraries on dev versions of OCaml. In practise with 4.05, it has b= een non-ppx changes that have been blocking testing -- for instance the close-o= n-exec flag addition to the Unix module caused rippling breakage through Lwt and o= ther platform libraries. That's not to say that PPX isn't a problem, but it has gotten significantly easier to deal with since Fred's work on migrate-parse= tree. regards, Anil