Module B0.Hmap

module Hmap: sig .. end
Type-safe, serializable, heterogeneous value maps.

Type-safe serialization is enabled by mandating, on key creation unique key names and a key value converter.

Deserialization must be aware of key definitions, this means that all the keys in a serialized map must be created before attempting to deserialize the map. If a deserialized key does not exist this will be reported as such. If a key was serialized with a different converter than the current existing key this will likely lead to a key value decoding error, see Serialization.



Maps


module type KEY = sig .. end
Signature for map keys.
module type KEY_INFO = sig .. end
Signature for client defined key information.
module type MAP = sig .. end
Signature for heterogeneous maps.
module type S = sig .. end
Signature for a universe of heterogeneous maps sharing the same key space.
module Make: 
functor (Key_info : KEY_INFO) ->
functor (* : sig
end) -> S with type 'a Key.info = 'a Key_info.t
Make (Key_info) () creates a new universe of heterogeneous maps with information key Key_info.