Browse thread
weird behavior with camlp4o
-
Andrew I. Schein
-
forum@x...
-
Olivier Andrieu
-
forum@x...
- Nicolas Pouillard
- Nicolas Pouillard
-
forum@x...
-
Olivier Andrieu
-
forum@x...
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Nicolas Pouillard <nicolas.pouillard@g...> |
| Subject: | Re: [Caml-list] weird behavior with camlp4o |
Excerpts from xclerc's message of Wed Apr 09 09:48:22 +0200 2008: > Selon Olivier Andrieu <oandrieu@gmail.com>: > > > On Wed, Apr 9, 2008 at 9:29 AM, <forum@x9c.fr> wrote: > > > Selon "Andrew I. Schein" <andrew@andrewschein.com>: > > > > Greetings list - > > > > > > > > I was playing around with OCaml 3.10.2 camlp4o like this: > > > > > > > > camlp4o pa_breakcont.cmo sample1.ml > > > > > > > > with my macro pa_breakcont.cmo and got the expected macro translation > > > > printed to my terminal. However, when I type: > > > > > > > > camlp4o pa_breakcont.cmo sample1.ml > out.ml > > > > > > > > out.ml contains binary output. Am I misusing camlp4o? > > > > > > I have encountered the same problem a few days ago while working on > > > Ocaml-Java to make it camlp4-compatible. > > > > > > The fact is that the kind of output (binary dump of abstract tree or > > > source code in textual form) is chosen according to the nature of the > > > output file descriptor. If the output file descriptor denotes a tty > > > then the textual form is chosen, otherwise the binary form is chosen. > > > > > > That being said, I don't know what is the rationale of this choice, > > > as I have not come up with a use case for the binary form. > > > > It's simply more efficient for ocamlc or ocamlopt when camlp4 is > > called via the -pp option: no need to pretty-print and then reparse > > the source. > > Well, this is what I thought at first but, if I am not mistaken, when > you use the '-pp' option of a compiler, a command of the following form > is executed: "camlp4XXX source-file.ml > tmp-file.ml". > Then the "tmp-file.ml" is actually compiled instead of the "source-file.ml". > > So, it seems that compilers go through the textual form. Nop, the compiler knows both binary and textual formats. -- Nicolas Pouillard aka Ertai