caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: skaller <skaller@users.sourceforge.net>
To: Joel Reymont <joelr1@gmail.com>
Cc: Caml List <caml-list@inria.fr>
Subject: Re: [Caml-list] Camlp4s 4.02
Date: Mon, 09 Jul 2007 21:28:05 +1000	[thread overview]
Message-ID: <1183980485.26391.15.camel@rosella.wigram> (raw)
In-Reply-To: <CD195899-C577-4F8B-BB47-98E224A4242C@gmail.com>

On Mon, 2007-07-09 at 10:58 +0100, Joel Reymont wrote:
> This is most awesome, I think. With all due respect to the developers  
> of the "new" camlp4, I wonder if it will now join the revised  
> syntax :-).
> 
> What do you think?

Dypgen based on the fly extensions will replace both :)

FYI .. the Felix programming language grammar is now loaded
from the library as text. This is made possible by two technologies:

* Dypgen is an extensible GLR parser, which allows new grammar
  productions to be added to a grammar during parsing. 
  The LR0 kernel is rebuilt when this happens. The current
  encoding is very fast.

* OCS Scheme is used to encode the user actions as text which
  is executed to create an Ocs_types.sval or Scheme value 
  (aka s-expression). The s-expressions are translated to the
  usual Felix AST terms built with polymorphic variants.

The syntax definitions and extensions are properly scoped
by the grammar itself.

Both camlp4's suffer from the weakness of being separated
from the user program text. This is a software engineering
disaster, because it means an '*.ml' file can't just be
compiled. You have know, through magic, ESP, or RTFM which
preprocessor has to be used to compile it (and you have
to make sure you compiled that too).

At the very least, Ocaml should be modified to add a new
statement/directive such as:

	syntax fred;;

which tells the reader and the compiler which syntax extension
has to be used to interpret the rest of the program. That way
it might be loaded automatically, and, programs like ocamldoc
and ocamldep can proceed without the user having to keep
track of the language of every file separately from the file itself.


-- 
John Skaller <skaller at users dot sf dot net>
Felix, successor to C++: http://felix.sf.net


  reply	other threads:[~2007-07-09 11:28 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-09  9:40 Daniel de Rauglaudre
2007-07-09  9:58 ` [Caml-list] " Joel Reymont
2007-07-09 11:28   ` skaller [this message]
2007-07-10  8:33     ` Daniel de Rauglaudre
2007-07-10  9:08       ` skaller
2007-07-10  9:38         ` Olivier Andrieu
2007-07-10 13:19           ` Nicolas Pouillard
2007-07-10 11:13         ` Daniel de Rauglaudre
2007-07-10 13:05           ` skaller
2007-07-10 13:53             ` Daniel de Rauglaudre
2007-07-09 11:51   ` Richard Jones
2007-07-10 11:32 ` Stefano Zacchiroli
2007-07-10 12:19   ` Daniel de Rauglaudre
2007-07-10 12:33     ` Stefano Zacchiroli
2007-07-10 15:04       ` [Caml-list] Camlp4s 4.02 -> 4.03 Daniel de Rauglaudre
2007-07-10 15:08         ` Stefano Zacchiroli
2007-07-10 22:39           ` Markus E.L.
2007-07-10 23:30             ` [Caml-list] camlp4..camlp5 Daniel de Rauglaudre
2007-07-11  6:45               ` Stefano Zacchiroli
2007-07-11 10:54                 ` Markus E.L.
2007-07-11 16:11                 ` Daniel de Rauglaudre
2007-07-11 10:52               ` Markus E.L.
2007-07-11  7:52             ` [Caml-list] Camlp4s 4.02 -> 4.03 Nicolas Pouillard
2007-07-10 15:17         ` skaller
2007-07-10 15:46           ` Till Varoquaux
2007-07-10 15:58             ` skaller
2007-07-10 16:08               ` Till Varoquaux
2007-07-10 16:46                 ` skaller
2007-07-10 13:12     ` [Caml-list] Camlp4s 4.02 skaller
2007-07-10 13:54       ` Daniel de Rauglaudre
2007-07-10 14:40     ` Yitzhak Mandelbaum

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=1183980485.26391.15.camel@rosella.wigram \
    --to=skaller@users.sourceforge.net \
    --cc=caml-list@inria.fr \
    --cc=joelr1@gmail.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).