Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
C-like macros in OCaml
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2007-06-27 (12:53)
From: Christopher L Conway <cconway@c...>
Subject: Re: [Caml-list] C-like macros in OCaml
On 6/27/07, Loup Vaillant <> wrote:
> By the way, does camlp4 handle cross modules C-like macros? If it does, how?
> For instance, what if I write, in :
> and then, in :
> let bar = FOO;;
> or else:
> open foo;;
> let bar = FOO;;
> or even :
> let bar = Foo.FOO;;
> Will I get what I want?

Probably not, but that depends on what you want. ;-) I believe that
pa_macro DEFINEs have module scope. To get the same DEFINE in multiple
files, you can use -D arguments on the command line, but pa_macro
doesn't allow these arguments to have values (i.e., you can only test
IFDEF/IFNDEF).* If you want arguments, see pa_macro_arg:


* I submitted a patch for this, but I don't think it's made its way
into a release. I didn't realize the 3.10/new camlp4 push was on when
I made it.

> Now, what about regular quotations? And grammar rules? How can I
> specify the scope of particular grammar rule (or quotation)? For the
> little I know about camlp4, once defined, the scope of a new grammar
> rule is global. (Idem for quotations).
> Am I right?
> Any clue about the way camlp4 keep track of new grammar rules an
> quotations? (Or some pointer to the documentation involved)
> Thanks
> Loup Vaillant
> _______________________________________________
> Caml-list mailing list. Subscription management:
> Archives:
> Beginner's list:
> Bug reports: