Module Printable.HashCached

Parameters

module M : S

Signature

module LazyHash : sig ... end
val name : unit -> string
type t = {
  1. m : M.t;
  2. lazy_hash : LazyHash.t;
}
val lift : M.t -> t
val unlift : t -> M.t
val lift_f : (M.t -> 'a) -> t -> 'b
val lift_f' : (M.t -> M.t) -> t -> t
val lift_f2 : (M.t -> M.t -> 'a) -> t -> t -> 'b
val lift_f2' : (M.t -> M.t -> M.t) -> t -> t -> t
val equal : t -> t -> bool
val compare : t -> t -> int
val hash : t -> int
val show : t -> string
val pretty : unit -> t -> Pretty.doc
val printXml : 'a BatInnerIO.output -> t -> unit
val to_yojson : t -> Yojson.Safe.t
val arbitrary : unit -> t QCheck.arbitrary
val tag : t -> int