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