sig
type elt
- type data
- type t
+
+ type 'a node
+ module rec Node : sig
+ include Hcons.S with type data = Data.t
+ end
+ and Data : sig
+ include
+ Hashtbl.HashedType with type t = Node.t node
+ end
+ type data = Data.t
+ type t = Node.t
+
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val from_list : elt list -> t
val make : data -> t
val node : t -> data
+
+val with_id : Uid.t -> t
end
val print : Format.formatter -> t -> unit
end
-module Make ( H : Hcons.S ) : S with type elt = H.t
+module Make ( H : Hcons.SA ) : S with type elt = H.t