Frama_c_kernel.HptmapEfficient maps from hash-consed trees to values, implemented as Patricia trees.
This implementation of big-endian Patricia trees follows Chris Okasaki's paper at the 1998 ML Workshop in Baltimore. Maps are implemented on top of Patricia trees. A tree is big-endian if it expects the key's most significant bits to be tested first.
module type Id_Datatype = sig ... endType of the keys of the map.
module type V = sig ... endValues stored in the map
module Shape (Key : Id_Datatype) : sig ... endThis functor builds Hptmap_sig.Shape for maps indexed by keys Key, which contains all functions on hptmap that do not create or modify maps.
module Make
(Key : Id_Datatype)
(V : V)
(Compositional_bool : sig ... end)
(Initial_Values : sig ... end)
(Datatype_deps : sig ... end) :
Hptmap_sig.S
with type key = Key.t
and type v = V.t
and type 'v map = 'v Shape(Key).map
and type prefix = prefixThis functor builds the complete module of maps indexed by keys Key to values V.
module Comp_unused : sig ... endDefault implementation for the Compositional_bool argument of the functor Make. To be used when no interesting compositional bit can be computed.