Browse thread
[camlp4] str_item filters & toplevel?
[
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: | Martin Jambon <martin.jambon@e...> |
| Subject: | Re: [Caml-list] [camlp4] str_item filters & toplevel? |
On Thu, 17 Apr 2008, Nicolas Pouillard wrote:
> Excerpts from Martin Jambon's message of Thu Apr 17 17:25:20 +0200 2008:
>> On Thu, 17 Apr 2008, Nicolas Pouillard wrote:
>>
>>> Excerpts from Martin Jambon's message of Thu Apr 17 16:17:15 +0200 2008:
>>>> I started from the wiki page describing how to use AST filters:
>>>> http://brion.inria.fr/gallium/index.php/Camlp4MapGenerator
>>>>
>>>> The example doesn't work in the toplevel (3.10.1), although it works
>>>> otherwise. How to make it work?
>>>
>>> By patching the camlp4 sources :)
>>
>> Is it a bug that has to be fixed?
>
> It could be seen as a bug, but the behavior is not completely clear, since
> applying the filters to each toplevel phrase is different from calling them
> only once on the whole module implem.
Thanks.
I'll look at the code for a better understanding.
I think that the 2 following cases are pretty common:
a. inserting some constant code once at the beginning of the file (or
module), such as "open Foo"
b. replacing a str_item by other str_items
Both were problematic in camlp4 3.09, requiring some fragile or
undocumented hacks. It would be extremely useful to have a clean solution
to these problems.
It seems to me that both (a) and (b) could be implemented and
made available in the toplevel without theoretical difficulties.
I can imagine a third situation consisting in performing a full
file/module analysis and inserting something at the beginning or at the
end. That also could be implemented, although it would clearly not be
available in the toplevel.
Martin
>> If it's already fixed, which version?
>
> Not already fixed.
>
> --
> Nicolas Pouillard aka Ertai
--
http://wink.com/profile/mjambon
http://mjambon.com