From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by c5ff346549e7 (Postfix) with ESMTPS id E28E05D4 for ; Mon, 1 Jul 2019 13:41:18 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.63,439,1557180000"; d="scan'208";a="389892349" Received: from sympa.inria.fr ([193.51.193.213]) by mail2-relais-roc.national.inria.fr with ESMTP; 01 Jul 2019 15:41:17 +0200 Received: by sympa.inria.fr (Postfix, from userid 20132) id D5FF1826E3; Mon, 1 Jul 2019 15:41:17 +0200 (CEST) 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 40A218247D for ; Mon, 1 Jul 2019 15:41:11 +0200 (CEST) Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=jdimino@janestreet.com; spf=Pass smtp.mailfrom=jdimino@janestreet.com; spf=None smtp.helo=postmaster@mxout5.mail.janestreet.com IronPort-PHdr: =?us-ascii?q?9a23=3AS05hABb0VeIUYXtwIZ65Nrj/LSx+4OfEezUN459i?= =?us-ascii?q?sYplN5qZr8m+bnLW6fgltlLVR4KTs6sC17OM9fq+EjJcqdbZ6TZeKcUKD0dEwe?= =?us-ascii?q?wt3CUYSPafDkP6KPO4JwcbJ+9lEGFfwnegLEJOE9z/bVCB6le77DoVBwmtfVEt?= =?us-ascii?q?fre9FYHdldm42P6v8JPPfQpImCC9YbRvJxmqsAndrMYbjZZ8Jqor1BfEo3REdu?= =?us-ascii?q?VZyGh1IV6fgwvw6t2/8ZJ+7ihcoe4t+9JFXa7nY6k2ULtUASg8PWso/sPrrx7D?= =?us-ascii?q?TQWO5nsYTGoblwdDDhbG4h/nQJr/qzP2ueVh1iaUO832Vq00Vi+576h3Uh/oiT?= =?us-ascii?q?wIOCA//WrKl8F/lqNboBampxxi347ZZZyeOfRicq/Be94RWHFMVdhNWSNfHoy8?= =?us-ascii?q?bpMPD+sfMuZes4n9vEYFoR+nCQWxGO/j1jpEi3nr1qM4zushCxnL0wMuH90MsH?= =?us-ascii?q?raotb7OroMX++pw6fF1inDb+pM1Dvh9ITEbhIsrPeRVrxwa8rRzkwvGhvBgFqO?= =?us-ascii?q?s4zqITaV1uUTvGOG4eRgVOevi28hqwF2vzOiwcUshZTIhoIQy1DE8yJ5zZ03Jd?= =?us-ascii?q?KiTk50f8WkEIdKty6EKYR2XtkuTH1vuCY/07ALv4OwcisSyJk/xhPSZOaLf5aV?= =?us-ascii?q?7h/jTuqdPzl1iXx/dL6ihBu+6VasxvH4W8Wu01tHrjBJnsTNu30PzRDe6NaLR/?= =?us-ascii?q?1g9Um7wzmPzRrc6uRcLEA0i6XbL5khz6Y1lpsctkTDAzP2lUXsgK+TbEok++yo?= =?us-ascii?q?5/7lYrr8oJ+TKZR0ih3kMqswhMO/Hf40PRQJX2ie4ei81bvj8lPlQLhSj/A7nb?= =?us-ascii?q?PVvI7HKckbvKK1HQFY34g55xqiDDqqyNEYkmMGLFJBdhKHlY/pO1TWLfD6EPi/?= =?us-ascii?q?glGskDZtx/DBJbDhAI/CLn7dn7f6YbZ98VBTxxQvzdxF+51UDbQBLOrpWkDtrN?= =?us-ascii?q?zYEgM5Mwuszun7Etp904ceVXuLAq+YK6PSrUSF5vkvIumJfI8aoizxK/kj5/70?= =?us-ascii?q?jH82g0URfaez3chfVHftMv14IknRSH7omdAZCS9eshA3Cernl0aqVDNPbm2uVq?= =?us-ascii?q?k/oDo8DdT1I53EQ9WPjaaM2Sa2VrFXY2FADRjYE3vpcoSCXN8OYSSfOdN7nzEY?= =?us-ascii?q?E7OmTtlyhlmVqAbmxu8/faLv8SoCuMemjYAtvrCBpVQJ7TVxSv+l/SSNQmVzxD?= =?us-ascii?q?NaQi8xwbwi50l0y1PF06F+judED9Fe+7VCVQJobceAndw/MMj7X0f6RvnMUEyv?= =?us-ascii?q?G4v0Azg3Q8kt2dIDfwB2HNDw1kmSjRrvOKcckvmwPLJx96vd23brIMMklSTE3a?= =?us-ascii?q?8slEU8T8ZTc2ahg/wm+g=3D=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0AUAQAtDBpdhxLp10BlHAEBAQQBAQcEA?= =?us-ascii?q?QGBZ4FogWsyKIQdlQOabQkBAwEMGBcBAYFLgnUCgwIbBwEENBMBAwEBBAEBAgE?= =?us-ascii?q?CAwETAQEBCgsJCCmKPgyCOikBgmcBAQEDASIdAQEpDgEPCwsDCgICJgICIhIBB?= =?us-ascii?q?QEcBhMIEQGDCIILmHs8ijBxgTKCeQEBBYV1gT0JEnooi18XgUA/gRGDEj6ERIM?= =?us-ascii?q?KgliqMwmCGJN6G4IriyeKF6RsDyGBRoF5MxoIGxU7MQaCNYJBDA4Jg06KVD4zj?= =?us-ascii?q?woBAQ?= X-IPAS-Result: =?us-ascii?q?A0AUAQAtDBpdhxLp10BlHAEBAQQBAQcEAQGBZ4FogWsyKIQ?= =?us-ascii?q?dlQOabQkBAwEMGBcBAYFLgnUCgwIbBwEENBMBAwEBBAEBAgECAwETAQEBCgsJC?= =?us-ascii?q?CmKPgyCOikBgmcBAQEDASIdAQEpDgEPCwsDCgICJgICIhIBBQEcBhMIEQGDCII?= =?us-ascii?q?LmHs8ijBxgTKCeQEBBYV1gT0JEnooi18XgUA/gRGDEj6ERIMKgliqMwmCGJN6G?= =?us-ascii?q?4IriyeKF6RsDyGBRoF5MxoIGxU7MQaCNYJBDA4Jg06KVD4zjwoBAQ?= X-IronPort-AV: E=Sophos;i="5.63,439,1557180000"; d="scan'208";a="389892330" X-MGA-submission: =?us-ascii?q?MDFadP8EtdaUb9nOH83+GnDfbNaQpMXvf+jms8?= =?us-ascii?q?C/Et+Tu1G9MXpuS+Cjfvanyl7T/+fO1tmpzqMpeBkFuppE5i3MGbdunq?= =?us-ascii?q?xRhxDWWz11jNhzbUe2K9FxM36pOPWPhsOxFfLF666euSRjY81kbzAk5W?= =?us-ascii?q?JufX7oEQFTb6sBzDP16JuscQ=3D=3D?= Received: from mxout5.mail.janestreet.com ([64.215.233.18]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 01 Jul 2019 15:41:10 +0200 X-JS-Received: from [30.40.81.8] (helo=tot-qpr-mailcore1) by mxout5.mail.janestreet.com with esmtps (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.90_1) (envelope-from ) id 1hhwYO-0005pb-M8 for caml-list@inria.fr; Mon, 01 Jul 2019 09:41:08 -0400 X-JS-Flow: external X-JS-Received: by tot-qpr-mailcore1 with ocaml/mailcore/main_production (a27f49f48dc5) (envelope-from ) id BdGg10-mX7d0A-Uz; 2019-07-01 09:41:08.675687-04:00 X-JS-Scanner-attachment: No attachments X-JS-Scanner-esets: Not scanned (internal mail) Received: from mail-lf1-f72.google.com ([209.85.167.72]) by mxgoog2.mail.janestreet.com with esmtps (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.90_1) id 1hhwYO-0000qE-Gm for caml-list@inria.fr; Mon, 01 Jul 2019 09:41:08 -0400 Received: by mail-lf1-f72.google.com with SMTP id c201so1016699lfg.10 for ; Mon, 01 Jul 2019 06:41:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=janestreet.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=O2iEIn2FxsCf3Tqc8/w2JqZu1/6x0qsRYUsg0R1X/Zo=; b=NCJn0NP4uZrEKpdN9hc8d72Yu1ZM4kJQqd+hrV2UCO0Z7AOSy4tKexslRILo35S6og w5Q4IVwyrwqOBj8SiSNAiMyzFvs+ESl+mmDsFwmK6y4hmK63HAfBWaseFIFmWVXdwF4/ kmuf2ePxtjTuiEEX6mp8aulYK4S83N53AP2zg= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=O2iEIn2FxsCf3Tqc8/w2JqZu1/6x0qsRYUsg0R1X/Zo=; b=CGTY7Bc4KhunYILZrh0D1YdkwYxbDejU8eWDEDlWQdahlCZeil7DkzrG0QajnyySXK gwYpRPqw8nsRUgGZIoIOc9RQJy5qeG39jrH5xaUHNcr5XDKRD7kl7qlQBP+eYsKR2Kp1 5AkTkmWnOkrAwtQKbJroOFZY8wunkHD4gAPEMu+IXoFKmw+Ux5QcbEcC2+PHXFDkx/Hh hdceuXGBY3KcrhXl47sr0RZhHCGbo6tUyF7dpolP4KYJEXYICva/KStt20ClIeF/Jf5R O3G5DcAje+Qg2bjMsvjfbcOkfBALVqxdWrIDqGlmcHjh1M6ahOp1yLwLdeTg9e8jDNZ8 Pb+g== X-Gm-Message-State: APjAAAXS3jiXg/jzz92sBk8WrFHygb6LzfTTvjQnQ64Fz/kBEKZ1x7ij B2dVAOYe89bd4k10yFd00rIsMcnWfg0mQGfDjGt8szhBXQmRxOGklhr5FqUXgvbkqIabz3HBjZG +q5F1f6sYEJ5cKoWBWzLe8bMClg== X-Received: by 2002:ac2:482d:: with SMTP id 13mr11524320lft.132.1561988467377; Mon, 01 Jul 2019 06:41:07 -0700 (PDT) X-Google-Smtp-Source: APXvYqwwbt3lZd5TxU1dM2P1+GBIEOi30sqk/oEVarFLadkMhUVvj/jThIb+pLCCJUUIbtzNIBs0Fpu23tmuJpw0woc= X-Received: by 2002:ac2:482d:: with SMTP id 13mr11524307lft.132.1561988467155; Mon, 01 Jul 2019 06:41:07 -0700 (PDT) MIME-Version: 1.0 References: <20190627134517.hzhbmjkihidxlnkz@annexia.org> <45419C48-63D3-4981-B54C-3EEA1F4A6FE6@recoil.org> <20190629094350.7mw6gif3vz2qxqwp@annexia.org> <12C0FD24-2DCD-4128-B020-84416F228E87@metastack.com> <20190629105248.aqc5fvdjfh6fccpj@annexia.org> <000f01d52f21$9374a8a0$ba5df9e0$@metastack.com> In-Reply-To: <000f01d52f21$9374a8a0$ba5df9e0$@metastack.com> From: Jeremie Dimino Date: Mon, 1 Jul 2019 14:40:56 +0100 Message-ID: To: David Allsopp Cc: "Richard W.M. Jones" , Anil Madhavapeddy , caml users , Sylvain Le Gall Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-JS-Exim-Data-Received: 2019-07-01 09:41:08-0400 X-JS-Processed-by: mailcore Subject: Re: [Caml-list] camlp4 & OCaml 4.08 Reply-To: Jeremie Dimino X-Loop: caml-list@inria.fr X-Sequence: 17663 Errors-to: caml-list-owner@inria.fr Precedence: list Precedence: bulk Sender: caml-list-request@inria.fr X-no-archive: yes List-Id: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: FTR, I had considered modernising camlp4 to make its maintenance easier, however due to its complexity it is a lot of work. Right now, keeping camlp4 alive and up to date is indeed painful and complicated. Additionally, I don't think it's a good idea to keep such projects that are basically abandoned on life support forever as it is giving the false impression that they are still actively maintained. On Sun, Jun 30, 2019 at 9:56 AM David Allsopp wrot= e: > > Richard W.M. Jones wrote: > > On Sat, Jun 29, 2019 at 10:17:02AM +0000, David Allsopp wrote: > > > > On 29 Jun 2019, at 10:44, Richard W.M. Jones wro= te: > > > > > > > >> On Sat, Jun 29, 2019 at 10:06:15AM +0100, Anil Madhavapeddy wrote: > > > >>> On 27 Jun 2019, at 14:45, Richard W.M. Jones > > > >>> wrote: > > > >>> > > > >>> > > > >>> I know camlp4 is dead and all that, but we've got some software > > > >>> which still uses it. I will probably port it to camlp5 when I > > > >>> have the time, but has anyone got the patch to make camlp4 work w= ith > > > >>> 4.08? > > > >> > > > >> > > > >> To fork the thread slightly, how big are the camlp4 dependencies > > > >> remaining in your codebase, and is there anything we can do to hel= p > > > >> migrate? > > > > > > > > The dependencies that I care about run through ocaml-gettext. > > > > Gettext is a specific method to make code internationalized and by > > > > its nature it involves deep changes throughout our codebase, so > > > > porting away from ocaml-gettext isn't an option any time soon. > > > > However porting ocaml-gettext to use something else might be. > > > > > > > > ocaml-gettext has a tool which runs over the OCaml source code and > > > > extracts the magic translatable strings, and it's my understanding > > > > that this is the only reason it uses camlp4. AIUI this cannot be > > > > done using ppx's (maybe I'm wrong about that?) but could be done > > > > using camlp5. In fact it was me who did the original port of > > > > ocaml-gettext from old camlp4 (ie. camlp5) to camlp4(!) > > > > > > It=E2=80=99s not instantly clear to my (non-expert) eyes why this can= =E2=80=99t be done > > with PPX. If I read the camlp4 script correctly, it doesn=E2=80=99t int= roduce any > > new syntax, it just matches on particular function calls and rewrites > > them? > > > > Actually I believe it simply extracts the string parameters into a > > separate file (from where they get translated). However it's a separat= e > > tool, it doesn't run as part of ordinary compilation. > > As I say, I've not done it, but walking an AST to pattern match those thi= ngs sounds eminently doable. Similarly, I've not done it, but producing a d= river program is one of the raison d'etre of ppxlib (or ppx-driver, as was)= . > > > David > --=20 Jeremie