Module type Hconsing.S

Hashconsed values

This signature defines a hashconsing module, used to implement maximal sharing of hashconsed values.

type t

The type of value used.

val save_cache : unit -> unit

Saves the module's cache

val reinit_cache : unit -> unit

Reinitializes the module's cache

val make : t -> t

Hashcons a value t, either returning t, or a value equal to t that was hashconsed previously.

val elements : unit -> t list

Returns the list of all unique hashconsed elements.