From: Alain Frisch <alain@frisch.fr>
To: caml-list <caml-list@inria.fr>
Cc: wg-camlp4@lists.ocaml.org, Leo P White <lpw25@cam.ac.uk>,
Anil Madhavapeddy <avsm2@cl.cam.ac.uk>
Subject: [Caml-list] Working Group: the future of syntax extensions in OCaml, after camlp4
Date: Thu, 24 Jan 2013 15:31:01 +0100 [thread overview]
Message-ID: <510145A5.6030807@frisch.fr> (raw)
Dear caml-list,
There is a growing opinion that camlp4 is overly complex considering the
benefits it brings to OCaml developers. I would personally go as far as
to say that the future of OCaml and the OCaml community would be
brighter if camlp4 could be removed from our "basic ecosystem". In
particular, most of the current uses of camlp4 to create syntax
extensions could probably be replaced by the new "-ppx" technology (see
below) and small extensions to the compilers.
A lot needs to happens for this camlp4-free OCaml ecosystem to become a
reality and we have to come up with a solid transition plan. A new
community-driven working group, chaired by Leo White and me, is being
set up today to elaborate this plan. If this topic is of interest to
you, please join our mailing list:
http://lists.ocaml.org/listinfo/wg-camlp4
Some of the most important tasks for our new working group will be:
- Gather information from the community about the use of camlp4.
(Please consider sharing information about your use of camlp4
and camlp4-based extensions, even if you don't plan to participate
to the working group discussions!)
- Finalize support for -ppx and make technical proposals for
extensions of the OCaml compilers in order to enable a transition of
camlp4-based extensions to -ppx (in particular, we need to come up
with a concrete syntax for generic extension points in the grammar).
- Write some "canonical" examples of extensions based on -ppx and
provide information and support to developers of extensions for
switching from camlp4 to -ppx.
- Discuss integration of -ppx with existing tools (findlib, build
systems, etc).
- Find a solution in the community for the future of camlp4
(in particular, discuss how / how long / by who it will be
maintained).
- Discuss longer-terms plans beyond -ppx, including extra language
support, to facilitate light syntactic meta-programming for OCaml
(Leo has some clever ideas!).
The discussion on the mailing list will start in a few days, to give
some time for interested people to join. In the meanwhile, Leo has
written a blog post to get the discussion started:
http://www.lpw25.net/2013/01/23/camlp4-alternative-part-1.html
You can also read about -ppx:
http://www.lexifi.com/blog/syntax-extensions-without-camlp4
http://www.lexifi.com/blog/syntax-extensions-without-camlp4-lets-do-it
Some projects have already started to replace camlp4 by -ppx:
bisect (supports both camlp4 and ppx since version 1.3)
sedlex (unicode-friendly lexer generator, successor of ulex)
omonad (syntax for monadic code, similar to pa_monad)
Many thanks to Anil Madhavapeddy and to OCamlLabs for setting up the
working group and its mailing list!
Alain
next reply other threads:[~2013-01-24 14:31 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-24 14:31 Alain Frisch [this message]
2013-01-24 15:52 ` Török Edwin
2013-01-24 15:56 ` Ashish Agarwal
2013-01-24 16:03 ` Esther Baruk
2013-01-24 15:57 ` Daniel Bünzli
2013-01-24 16:24 ` AW: " Gerd Stolpmann
2013-01-28 12:15 ` Alain Frisch
2013-01-28 12:17 ` [wg-camlp4] " Alain Frisch
2013-02-03 14:01 ` AW: " Jon Harrop
2013-02-03 14:38 ` Simon Cruanes
2013-01-24 16:16 ` rixed
2013-01-24 17:08 ` Alain Frisch
2013-01-24 18:06 ` Jacques Carette
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=510145A5.6030807@frisch.fr \
--to=alain@frisch.fr \
--cc=avsm2@cl.cam.ac.uk \
--cc=caml-list@inria.fr \
--cc=lpw25@cam.ac.uk \
--cc=wg-camlp4@lists.ocaml.org \
/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