caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Gerd Stolpmann <info@gerd-stolpmann.de>
To: Dario Teixeira <dario.teixeira@nleyten.com>
Cc: caml-list@inria.fr
Subject: Re: [Caml-list] META file standards for ppx extensions
Date: Thu, 09 Apr 2015 12:56:34 +0200	[thread overview]
Message-ID: <1428576994.22412.21.camel@e130.lan.sumadev.de> (raw)
In-Reply-To: <5297cdaceccd6db2a60700bf686ccfb7@nleyten.com>

[-- Attachment #1: Type: text/plain, Size: 2650 bytes --]

> *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

> 
> Best regards,
> Dario Teixeira
> 
> 

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


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

  parent reply	other threads:[~2015-04-09 10:56 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
2015-04-09 10:56     ` Gerd Stolpmann [this message]
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=1428576994.22412.21.camel@e130.lan.sumadev.de \
    --to=info@gerd-stolpmann.de \
    --cc=caml-list@inria.fr \
    --cc=dario.teixeira@nleyten.com \
    /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;
as well as URLs for NNTP newsgroup(s).