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 379687FCCB for ; Thu, 9 Apr 2015 12:56:44 +0200 (CEST) Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of info@gerd-stolpmann.de) identity=pra; client-ip=212.227.126.130; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="info@gerd-stolpmann.de"; x-sender="info@gerd-stolpmann.de"; x-conformance=sidf_compatible Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of info@gerd-stolpmann.de) identity=mailfrom; client-ip=212.227.126.130; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="info@gerd-stolpmann.de"; x-sender="info@gerd-stolpmann.de"; x-conformance=sidf_compatible Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@mout.kundenserver.de) identity=helo; client-ip=212.227.126.130; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="info@gerd-stolpmann.de"; x-sender="postmaster@mout.kundenserver.de"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0CoAQApWiZVlIJ+49Rcg1pcxhQGhgECgTs7EQEBAQEBAQERAQEBAQcLCwkSMIQgAQEDAVUkBQsLRlcGEwkLiA4MCcxbAQEBAQYCAR+LK4R8B4ItDEGBMwWGHosnAYVXg2iHGAONSoQTbQGCQgEBAQ X-IPAS-Result: A0CoAQApWiZVlIJ+49Rcg1pcxhQGhgECgTs7EQEBAQEBAQERAQEBAQcLCwkSMIQgAQEDAVUkBQsLRlcGEwkLiA4MCcxbAQEBAQYCAR+LK4R8B4ItDEGBMwWGHosnAYVXg2iHGAONSoQTbQGCQgEBAQ X-IronPort-AV: E=Sophos;i="5.11,549,1422918000"; d="asc'?scan'208";a="132347491" Received: from mout.kundenserver.de ([212.227.126.130]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-SHA; 09 Apr 2015 12:56:43 +0200 Received: from office1.lan.sumadev.de ([188.107.29.5]) by mrelayeu.kundenserver.de (mreue001) with ESMTPSA (Nemesis) id 0LyeMJ-1ZRGyT2hYV-0165gj; Thu, 09 Apr 2015 12:56:42 +0200 Received: from [192.168.65.10] (unknown [192.168.65.10]) by office1.lan.sumadev.de (Postfix) with ESMTPSA id 2502CDC05D; Thu, 9 Apr 2015 12:56:42 +0200 (CEST) Message-ID: <1428576994.22412.21.camel@e130.lan.sumadev.de> From: Gerd Stolpmann To: Dario Teixeira Cc: caml-list@inria.fr Date: Thu, 09 Apr 2015 12:56:34 +0200 In-Reply-To: <5297cdaceccd6db2a60700bf686ccfb7@nleyten.com> References: <2f9c74beafcf41f3ab30324fb1ece739@nleyten.com> <55257AAD.6030004@zoho.com> <5297cdaceccd6db2a60700bf686ccfb7@nleyten.com> Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature"; boundary="=-Aov12KGO8Gz8FkQmR7uL" X-Mailer: Evolution 3.10.4-0ubuntu2 Mime-Version: 1.0 X-Provags-ID: V03:K0:uH2koabbB+Sb2mpWkpmD5BHJ48/azUlYI2qn3JDEhhe0nNcZrzY TGQBbu922N60ornYDDHdubFdMf53SJvEwbwp37kpGANUQrgVqt0sxZXWBEPFug8tTgRzmje hQIeRkqpLpDKeRrCp5KbROmPibfDsh4zFJ/FgAsUJAUL6Kq8BKCb5LjFa1hE85Kkq3a9fSg CnBwzCwoj25eLYOpG6XnA== X-UI-Out-Filterresults: notjunk:1; Subject: Re: [Caml-list] META file standards for ppx extensions --=-Aov12KGO8Gz8FkQmR7uL Content-Type: text/plain; charset="ISO-8859-15" Content-Transfer-Encoding: quoted-printable > *However*, regardless of what scheme is adopted, can we at least > agree on the need for it to be uniformly applied in the ecosystem? > I think the worst path is the one we're currently following, where > each ppx extension does as it pleases. There is still the question how to set the standard. Just talking about it isn't sufficient. My thinking here is that there should be a couple of pointers into the right direction giving advice to the developers. There could be a good ppx example in the findlib manual (or maybe a link to a blog post explaining the issue). I'm also thinking about a helper inside ocamlfind, maybe ocamlfind check META that would (a) search for hard errors, and (b) give recommendations. For example, if a library cannot be linked at all, or not be loaded into the toploop, this would be (a). If the ppx preprocessor isn't separated from the runtime, this would be (b) (i.e. using ppx together with archive). The question is, of course, what to recommend. > Well, newcomers to OCaml will not recall this, but we had a similar > discussion some years ago about Camlp4. At the time there was no > 'syntax' standard, and most Camlp4 extensions were not even well > integrated with findlib. I think we can all agree that using Camlp4 > extensions became much easier and saner after that standard was > adopted by the community. Well, camlp4 support in findlib is pretty old (already version 0.4 contained it, and I think it was released around 2001 - even before camlp4 was integrated into the main ocaml tree). It took some time until it was really usable (in particular, that subpackages were added), but it also took some time until it was discovered by the developers. Then the question was how to do it (i.e. about conventions). So far I remember, good examples were quite helpful to drive the adoption of easily usable camlp4 extensions. (A side note: for camlp4 extensions, you always need to specify a -syntax in order to activate the extension. Because of this, it is not that important to cleanly separate the preprocessor from the runtime. Maybe we want something similar for ppx?) Do we have a project that could be used as reference for ppx? Gerd >=20 > Best regards, > Dario Teixeira >=20 >=20 --=20 ------------------------------------------------------------ Gerd Stolpmann, Darmstadt, Germany gerd@gerd-stolpmann.de My OCaml site: http://www.camlcity.org Contact details: http://www.camlcity.org/contact.html Company homepage: http://www.gerd-stolpmann.de ------------------------------------------------------------ --=-Aov12KGO8Gz8FkQmR7uL Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQEcBAABAgAGBQJVJlriAAoJEAaM4b9ZLB5TXEIH/321lXLgalqnIaAo8yxlZK3/ YHyeBI9ecVbWgSWdv7IE16v6HqnsEJnSU2OHnbuIC6X6KYXRhimdIcNzjlapxAgA qBHpBMJJj94wMc0lT7S79zt2AAzBFQORGiJ1PQvV93Si6XK/vsXTruE0fsA/vGot teQH3hxfAfH6g4XVlaB1dqiP/0dewPjZxn6Z/YGYaERrwDuTNdp6h3AzLIXW9YzX P8PuOyFwicpXG9frVXznTeuc7YJseEyI6/3f9zlxIyTUOHDq+A2bA8EImip7ooDF OkRdlqTEyTiedwQ1gdX8461mOYlj/R3TsCuyKfR1g5vAGGwM+hAwcG1vKEBGDbE= =kaDF -----END PGP SIGNATURE----- --=-Aov12KGO8Gz8FkQmR7uL--