English version
Accueil     À propos     Téléchargement     Ressources     Contactez-nous    

Ce site est rarement mis à jour. Pour les informations les plus récentes, rendez-vous sur le nouveau site OCaml à l'adresse ocaml.org.

Browse thread
Using camlp4 in extensions
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2008-12-15 (16:10)
From: Mauricio Fernandez <mfp@a...>
Subject: Re: [Caml-list] Using camlp4 in extensions
On Mon, Dec 15, 2008 at 03:24:47PM +0000, Richard Jones wrote:
> On Mon, Dec 15, 2008 at 09:04:34AM -0500, Jacques Carette wrote:
> > Question: is there a way to use a camlp4 extension *inside* the 
> > definition of another?
> > 
> > AFAIK, extensions are not ordered, so trying to use camlp4 to deal with 
> > IFDEF in the source of a syntax extension (like pa_monad) to switch 
> > between 3.10 and 3.11 [to deal with the new private and lazy features] 
> > does not seem possible.  Or have I missed something?
> camlp4 extensions should be composable (as long as they don't actually
> conflict with each other).  Just list several *.cmo files on the
> camlp4 command line.  What happened when you tried it?

I believe he's not referring to simultaneous use of pa_monad and another
extension in user code, but of Camlp4MacroParser *in* the sources of pa_monad.
Since pa_monad is build with

  ocamlc -I +camlp4 -pp camlp4orf -c pa_monad.ml

changing that to 

  ocamlc -I +camlp4 -pp "camlp4orf Camlp4MacroParser.cmo" -c pa_monad.ml

might work.

Mauricio Fernandez  -   http://eigenclass.org