From: Dario Teixeira <dario.teixeira@nleyten.com>
To: caml-list@inria.fr
Subject: Re: [Caml-list] META file standards for ppx extensions
Date: Thu, 09 Apr 2015 11:07:51 +0100 [thread overview]
Message-ID: <fc9c71fc457abdae5a187d5606950720@nleyten.com> (raw)
In-Reply-To: <292F5F40C05A4B9BBEB96266F05F6FEB@erratique.ch>
Hi,
> It seems to me that Dario's scheme, that is always have PKG.ppx, is
> more forward looking. We could perfectly imagine that a library in
> the future will implement its functionality using another mechanism
> (for example in a non-ugly way, using a macro system).
Yes, and in the meantime I thought of another reason why the original
scheme (runtime -- if any -- at the META top-level and ppx as a 'ppx'
sub-package) is superior to the alternative (ppx at the top-level
and runtime as 'lib' sub-package): there are libraries where the use
of the syntax/ppx extension is just a nice bonus (LWT, PG'OCaml).
In these cases, the original scheme is the only one that makes sense.
Though there are of course extensions without a runtime where
the alternative scheme would be more sensible, we then run into
the consistency argument: it's preferable to bend one side to the
other than to have a hodgepodge of schemes. And below you'll find
additional reasons why the original scheme wins decisively.
> We can imagine current packages that are using camlp4 providing
> both a legacy PKG.camlp4 and a PKG.ppx package.
Agreed. Case in point: LWT. I don't know when the Ocsigen team
plans to eliminate the LWT Camlp4 syntax extension, but I suspect
that for some time both the Camlp4 and ppx extensions will ship
with LWT. The former can and should remain accessible via the
lwt.syntax sub-package, whereas the latter is available via
lwt.ppx.
Btw, currently legacy Camlp4 syntax extensions are available as a
PKG.syntax sub-package (not PKG.camlp4), and I see no compelling
reason to change this.
> It also makes it more clear in the build system specification
> what crap pre-processing technology is being pulled in.
Well, apart from the inflammatory use of 'crap', I fully agree!
Best regards,
Dario Teixeira
next prev parent reply other threads:[~2015-04-09 10:07 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-08 18:20 Dario Teixeira
2015-04-08 18:59 ` Drup
2015-04-08 19:59 ` Dario Teixeira
2015-04-08 20:37 ` Daniel Bünzli
2015-04-09 10:07 ` Dario Teixeira [this message]
2015-04-09 10:56 ` Gerd Stolpmann
2015-04-09 12:24 ` Dario Teixeira
2015-04-09 15:33 ` Daniel Bünzli
2015-04-09 16:45 ` Gerd Stolpmann
2015-04-09 17:27 ` Daniel Bünzli
2015-04-09 18:05 ` Daniel Bünzli
2015-04-09 22:26 ` Gerd Stolpmann
2015-04-09 22:21 ` Gerd Stolpmann
2015-04-09 23:06 ` Daniel Bünzli
2015-04-10 8:53 ` François Bobot
2015-04-10 9:42 ` Daniel Bünzli
2015-04-10 10:09 ` Alain Frisch
2015-04-10 11:45 ` Thomas Gazagnaire
2015-04-10 11:04 ` François Bobot
2015-04-10 11:55 ` Daniel Bünzli
2015-04-10 16:33 ` François Bobot
2015-04-10 17:43 ` Daniel Bünzli
2015-04-12 6:00 ` Anil Madhavapeddy
2015-04-10 11:25 ` Gerd Stolpmann
2015-04-10 11:55 ` Daniel Bünzli
2015-04-09 15:45 ` Thomas Gazagnaire
2015-04-09 16:28 ` Dario Teixeira
2015-04-09 16:51 ` Gerd Stolpmann
2015-04-10 12:23 ` Daniel Bünzli
2015-04-10 14:55 ` Gerd Stolpmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=fc9c71fc457abdae5a187d5606950720@nleyten.com \
--to=dario.teixeira@nleyten.com \
--cc=caml-list@inria.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox