Module Lattice.HashCached

Parameters

module M : S

Signature

include sig ... end
module LazyHash : sig ... end
val name : unit -> string
type t = Printable.HashCached(M).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 -> 'a
val lift_f' : (M.t -> M.t) -> t -> t
val lift_f2 : (M.t -> M.t -> 'a) -> t -> t -> 'a
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 -> Printable.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
val leq : t -> t -> bool
val join : t -> t -> t
val meet : t -> t -> t
val widen : t -> t -> t
val narrow : t -> t -> t
val bot : unit -> t
val is_bot : t -> bool
val top : unit -> t
val is_top : t -> bool
val pretty_diff : unit -> (t * t) -> Pretty.doc