X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=hlist.mli;h=72102506dc87b50052d35e676371d3a25a1afaa3;hb=c5f06d325240c808a9be4d71e20fc01969420bb3;hp=7796833a201b1a6f7330a2308c82e1c76d8a5d52;hpb=451e60ad59e35344dff62da5ca27fcd5eec1bff9;p=SXSI%2Fxpathcomp.git diff --git a/hlist.mli b/hlist.mli index 7796833..7210250 100644 --- a/hlist.mli +++ b/hlist.mli @@ -1,9 +1,19 @@ module type S = sig type elt type 'a node = Nil | Cons of elt * 'a - type t + + 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 hash : t -> int val uid : t -> int + val make : data -> t val equal : t -> t -> bool val nil : t val node : t -> t node @@ -18,4 +28,4 @@ module type S = sig val length : t -> int end -module Make (H : Hcons.S) : S with type elt = H.t +module Make (H : Hcons.SA) : S with type elt = H.t