On Wed, May 25, 2016 at 3:20 PM, Francois Berenger <francois.berenger@inria.fr> wrote:
On 25/05/2016 14:29, Boris Yakobowski wrote:
If this kind of caching may be useful to you, the files hptmap*.ml* of
Frama-C provides very nice iterators and abstractions.

It might even be useful to have this data structure in opam provided as a standalone library.

I agree, but the devil lurks in the details. Currently, these modules depend on a Frama-C abstraction for (OCaml) types, which would need to be exported as a library first. This is turns requires more things: Frama-C logging infrastructure, Frama-C's notion of "projects", etc. Simply parameterizing the library by all those modules would result in a functor with maybe 8 or 9 arguments -- with only 3 being really "useful".

If there is a strong interest in this library, we can try to parameterize the current functor by the few _functions_ that are really required, and use a wrapper above this version in Frama-C. People at OCamlPro are currently looking at the functionalities of the library for the Secure-OCaml project. This may give us a further incentive.

(There is also the fact that we cannot resist slightly changing the APIs at least once per version!)


--
Boris