caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Hendrik Tews <tews@tcs.inf.tu-dresden.de>
To: Ocaml <caml-list@inria.fr>
Subject: Camlp4 with traditional syntax (was: Camlp4 documentation)
Date: 18 Feb 2005 17:20:34 +0100	[thread overview]
Message-ID: <rlhdk9q1pp.fsf_-_@ithif59.inf.tu-dresden.de> (raw)
In-Reply-To: <4215AD36.1070303@cs.unisa.edu.au>

Alex Cowie <cowie@cs.unisa.edu.au> writes:

   For me, the use of revised syntax has been a disincentive to using
   Camlp4 metaprogramming.  I have always wondered whether a traditional
   syntax version of Camlp4 was technically feasible.  Any comments?

I believe it is possible. You can parse traditional ocaml (as
opposed to the revised syntax) with camlp4, so it should be
possible to write a quotation expander using traditional ocaml. I
remember Daniel de Rauglaudre complaint a few times about the
difficulty of parsing ocaml. So a quotation expander using
traditional ocaml might have dark corners which do not look as
elegant as pa_macro.ml.

A alternative quotation expander using traditional ocaml would be
much simpler to set up than the original one in
camlp4/meta/q_MLast, because you don't have to deal with
bootstrapping issues. The alternative expander would be written
in the revised syntax and compiled when camlp4 has been built.

Moreover, all the necessary pieces are already contained in the
camlp4 sources: the quotation expander is in q_MLast and the
traditional ocaml syntax is in etc/pa_o.ml. So you would only mix
the two files, taking the grammer from pa_o and the actions from
q_MLast.

I even started once, but did not continue. If anybody starts to
work on an alternative quotation expander using traditional
ocaml, please announce.

Bye,

Hendrik Tews


  reply	other threads:[~2005-02-18 16:20 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-02-17 15:32 Immediate recursive functions Alex Baretta
2005-02-17 18:20 ` [Caml-list] " Marcin 'Qrczak' Kowalczyk
2005-02-17 19:00 ` Jason Hickey
2005-02-17 20:33   ` Alex Baretta
2005-02-17 19:18 ` Christian Szegedy
2005-02-17 20:36   ` Alex Baretta
2005-02-17 22:39   ` Camlp4 documentation (was: Immediate recursive functions) Martin Jambon
2005-02-17 23:30     ` [Caml-list] " Richard Jones
2005-02-17 23:51       ` Michael Walter
2005-02-18  0:51     ` Micha
2005-02-18  3:37       ` briand
2005-02-18  5:21     ` Oliver Bandel
2005-02-18  6:51     ` Johann Spies
2005-02-18  8:04     ` [Caml-list] Camlp4 documentation Alex Baretta
2005-02-18  8:54       ` Alex Cowie
2005-02-18 16:20         ` Hendrik Tews [this message]
2005-02-18 16:28           ` [Caml-list] Camlp4 with traditional syntax (was: Camlp4 documentation) Alex Baretta
2005-02-18 22:36             ` Hendrik Tews
2005-02-21 12:28               ` Alex Baretta
2005-02-21 12:55                 ` Bardur Arantsson
2005-02-21 15:22                   ` [Caml-list] Camlp4 with traditional syntax Olivier Andrieu
2005-02-21 16:57                     ` Bardur Arantsson
2005-02-18 18:43           ` [Caml-list] Camlp4 with traditional syntax (was: Camlp4 documentation) Martin Jambon
2005-02-18 22:41             ` Hendrik Tews
2005-02-22 10:29           ` Oliver Bandel
2005-02-22 23:32             ` Richard Jones
2005-02-23  0:01             ` Martin Jambon
2005-02-24  0:47               ` Oliver Bandel
2005-02-24 15:24                 ` William D. Neumann
2005-02-18  8:14     ` [Caml-list] Camlp4 documentation (was: Immediate recursive functions) Robert M. Solovay

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=rlhdk9q1pp.fsf_-_@ithif59.inf.tu-dresden.de \
    --to=tews@tcs.inf.tu-dresden.de \
    --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;
as well as URLs for NNTP newsgroup(s).