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
Intended behavior of GenerateMap
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2007-06-23 (18:59)
From: Nicolas Pouillard <nicolas.pouillard@g...>
Subject: Re: [Caml-list] Intended behavior of GenerateMap
On 6/8/07, Christian Stork <> wrote:
> Hi,
> Is my understanding correct that running "camlp4of -filter map ..." over
>     class map = Camlp4Filters.GenerateMap.generated
> will produce a map class for *all* types defined in the current file --
> irrespective if the types are incapsulated in a module (which is then
> used for the Camlp4Trash trick)?
> Wouldn't it be much nicer, i.e., more economical and more precise, if
> the above only produces a map class for the most recently defined type
> / mutually recursive types?

Indeed it's nicer...

These days I've improved this generator to be able to generate,
multiple maps and folds (Map{2,3,4...}, Fold{2,3,4...}). And also the
combination of both: MapFold{,2,3,4...}.

I've also followed your advise by taking in account only the last
defined set of mutually recursive types.

Note that the Camlp4Trash trick is still needed by those that wants
have the type declaration separated from these classes.

Nicolas Pouillard